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:
parent
37fc47bb22
commit
3df12a2718
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=236767
@ -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}/ \
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user