1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-22 08:58:47 +00:00

- Update to 3.11.1.

This commit is contained in:
Stanislav Sedov 2009-06-29 10:46:44 +00:00
parent 37fc47bb22
commit 3df12a2718
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=236767
6 changed files with 16 additions and 141 deletions

View File

@ -6,8 +6,8 @@
#
PORTNAME= ocaml
PORTVERSION= 3.11.0
PORTREVISION= 1
PORTVERSION= 3.11.1
PORTREVISION= 0
CATEGORIES= lang
MASTER_SITES= http://caml.inria.fr/distrib/${DISTNAME:R}/ \
ftp://ftp.inria.fr/INRIA/caml-light/${DISTNAME:R}/ \

View File

@ -1,3 +1,3 @@
MD5 (ocaml-3.11.0.tar.bz2) = 6ed1c3ed660a15408362242fa8fa4668
SHA256 (ocaml-3.11.0.tar.bz2) = 3faa9057bdac916413a5dee17180f5a8fbc7fb7589465208f72f692bddbd6776
SIZE (ocaml-3.11.0.tar.bz2) = 2359311
MD5 (ocaml-3.11.1.tar.bz2) = fe011781f37f6b41fe08e0706969a89e
SHA256 (ocaml-3.11.1.tar.bz2) = 8c36a28106d4b683a15c547dfe4cb757a53fa9247579d1cc25bd06a22cc62e50
SIZE (ocaml-3.11.1.tar.bz2) = 2352236

View File

@ -1,111 +0,0 @@
--- otherlibs/systhreads/posix.c 2008/09/27 10:46:55 1.58
+++ otherlibs/systhreads/posix.c 2008/12/14 18:16:38 1.58.2.1
@@ -11,7 +11,7 @@
/* */
/***********************************************************************/
-/* $Id: posix.c,v 1.58 2008/09/27 10:46:55 xleroy Exp $ */
+/* $Id: posix.c,v 1.58.2.1 2008/12/14 18:16:38 xleroy Exp $ */
/* Thread interface for POSIX 1003.1c threads */
@@ -111,6 +111,9 @@ static pthread_mutex_t caml_runtime_mute
/* Condition signaled when caml_runtime_busy becomes 0 */
static pthread_cond_t caml_runtime_is_free = PTHREAD_COND_INITIALIZER;
+/* Whether the ``tick'' thread is already running */
+static int caml_tick_thread_running = 0;
+
/* The key used for storing the thread descriptor in the specific data
of the corresponding Posix thread. */
static pthread_key_t thread_descriptor_key;
@@ -332,8 +335,6 @@ static void * caml_thread_tick(void * ar
static void caml_thread_reinitialize(void)
{
caml_thread_t thr, next;
- pthread_t tick_pthread;
- pthread_attr_t attr;
struct channel * chan;
/* Remove all other threads (now nonexistent)
@@ -353,24 +354,21 @@ static void caml_thread_reinitialize(voi
pthread_cond_init(&caml_runtime_is_free, NULL);
caml_runtime_waiters = 0; /* no other thread is waiting for the RTS */
caml_runtime_busy = 1; /* normally useless */
+ /* Tick thread is not currently running in child process, will be
+ re-created at next Thread.create */
+ caml_tick_thread_running = 0;
/* Reinitialize all IO mutexes */
for (chan = caml_all_opened_channels;
chan != NULL;
chan = chan->next) {
if (chan->mutex != NULL) pthread_mutex_init(chan->mutex, NULL);
}
- /* Fork a new tick thread */
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
- pthread_create(&tick_pthread, &attr, caml_thread_tick, NULL);
}
/* Initialize the thread machinery */
value caml_thread_initialize(value unit) /* ML */
{
- pthread_t tick_pthread;
- pthread_attr_t attr;
value mu = Val_unit;
value descr;
@@ -415,12 +413,6 @@ value caml_thread_initialize(value unit)
caml_channel_mutex_lock = caml_io_mutex_lock;
caml_channel_mutex_unlock = caml_io_mutex_unlock;
caml_channel_mutex_unlock_exn = caml_io_mutex_unlock_exn;
- /* Fork the tick thread */
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
- caml_pthread_check(
- pthread_create(&tick_pthread, &attr, caml_thread_tick, NULL),
- "Thread.init");
/* Set up fork() to reinitialize the thread machinery in the child
(PR#4577) */
pthread_atfork(NULL, NULL, caml_thread_reinitialize);
@@ -488,6 +480,7 @@ value caml_thread_new(value clos)
{
pthread_attr_t attr;
caml_thread_t th;
+ pthread_t tick_pthread;
value mu = Val_unit;
value descr;
int err;
@@ -526,12 +519,12 @@ value caml_thread_new(value clos)
th->prev = curr_thread;
curr_thread->next->prev = th;
curr_thread->next = th;
- /* Fork the new thread */
+ /* Create the new thread */
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
err = pthread_create(&th->pthread, &attr, caml_thread_start, (void *) th);
if (err != 0) {
- /* Fork failed, remove thread info block from list of threads */
+ /* Creation failed, remove thread info block from list of threads */
th->next->prev = curr_thread;
curr_thread->next = th->next;
#ifndef NATIVE_CODE
@@ -541,6 +534,16 @@ value caml_thread_new(value clos)
caml_pthread_check(err, "Thread.create");
}
End_roots();
+ /* Create the tick thread if not already done.
+ Because of PR#4666, we start the tick thread late, only when we create
+ the first additional thread in the current process*/
+ if (! caml_tick_thread_running) {
+ caml_tick_thread_running = 1;
+ pthread_attr_init(&attr);
+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+ err = pthread_create(&tick_pthread, &attr, caml_thread_tick, NULL);
+ caml_pthread_check(err, "Thread.create");
+ }
return descr;
}

View File

@ -1,19 +0,0 @@
--- otherlibs/systhreads/posix.c 2008/12/14 18:16:38 1.58.2.1
+++ otherlibs/systhreads/posix.c 2009/03/28 17:35:59 1.58.2.2
@@ -11,7 +11,7 @@
/* */
/***********************************************************************/
-/* $Id: posix.c,v 1.58.2.1 2008/12/14 18:16:38 xleroy Exp $ */
+/* $Id: posix.c,v 1.58.2.2 2009/03/28 17:35:59 xleroy Exp $ */
/* Thread interface for POSIX 1003.1c threads */
@@ -393,6 +393,7 @@ value caml_thread_initialize(value unit)
curr_thread->descr = descr;
curr_thread->next = curr_thread;
curr_thread->prev = curr_thread;
+ curr_thread->backtrace_last_exn = Val_unit;
#ifdef NATIVE_CODE
curr_thread->exit_buf = &caml_termination_jmpbuf;
#endif

View File

@ -1,5 +1,5 @@
--- ./configure.orig 2008-11-07 19:34:16.000000000 +0900
+++ ./configure 2009-01-21 01:41:11.000000000 +0900
--- configure.orig 2009-05-20 19:33:09.000000000 +0400
+++ configure 2009-06-29 14:12:59.000000000 +0400
@@ -85,6 +85,8 @@
withcurses=no;;
-no-shared-libs)
@ -9,7 +9,7 @@
-x11include*|--x11include*)
x11_include_dir=$2; shift;;
-x11lib*|--x11lib*)
@@ -739,6 +741,7 @@
@@ -751,6 +753,7 @@
i386,*,bsd_elf) profiling='prof';;
amd64,*,macosx) profiling='prof';;
i386,*,macosx) profiling='prof';;
@ -17,13 +17,19 @@
sparc,*,solaris)
profiling='prof'
case "$nativecc" in gcc*) ;; *) cc_profile='-xpg';; esac;;
@@ -1183,127 +1186,24 @@
@@ -1195,133 +1198,24 @@
x11_include="not found"
x11_link="not found"
-for dir in \
- $x11_include_dir \
- \
- /usr/X11R7/include \
- /usr/include/X11R7 \
- /usr/local/X11R7/include \
- /usr/local/include/X11R7 \
- /opt/X11R7/include \
- \
- /usr/X11R6/include \
- /usr/include/X11R6 \
- /usr/local/X11R6/include \
@ -156,7 +162,7 @@
else
echo "Location of X11 include files: $x11_include/X11"
echo "Options for linking with X11: $x11_link"
@@ -1372,7 +1275,7 @@
@@ -1448,7 +1342,7 @@
then tk_libs="$tk_libs $dllib"
elif sh ./hasgot $tk_libs -ltcl$tclmaj.$tclmin $tkauxlibs Tcl_DoOneEvent
then

View File

@ -777,7 +777,6 @@ lib/ocaml/ocamldoc/odoc_misc.cmi
lib/ocaml/ocamldoc/odoc_module.cmi
lib/ocaml/ocamldoc/odoc_name.cmi
lib/ocaml/ocamldoc/odoc_ocamlhtml.cmi
lib/ocaml/ocamldoc/odoc_opt.cmi
lib/ocaml/ocamldoc/odoc_parameter.cmi
lib/ocaml/ocamldoc/odoc_parser.cmi
lib/ocaml/ocamldoc/odoc_print.cmi