[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: Oct2010 - Merge with root
From: mk () cwi ! nl
Date: 2010-11-26 19:59:49
Message-ID: hg.ce5cb835816b.1290801589.6315528441665844383 () localhost ! localdomain
[Download RAW message or body]
Changeset: ce5cb835816b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ce5cb835816b
Modified Files:
Branch: Oct2010
Log Message:
Merge with root
diffs (truncated from 1848 to 300 lines):
diff -r 42d0637cfc71 -r ce5cb835816b MonetDB4/configure.ag
--- a/MonetDB4/configure.ag Fri Nov 26 20:59:12 2010 +0100
+++ b/MonetDB4/configure.ag Fri Nov 26 20:59:41 2010 +0100
@@ -217,7 +217,7 @@
<malloc.h> header file.]),,[ ])
CFLAGS="$CFLAGS_bak"
AC_CHECK_HEADERS(fcntl.h limits.h unistd.h pwd.h dlfcn.h)
-AC_CHECK_HEADERS(time.h sys/time.h utime.h sys/utime.h)
+AC_CHECK_HEADERS(time.h sys/time.h)
AC_CHECK_HEADERS(sys/file.h sys/param.h sys/mman.h)
AC_CHECK_HEADERS(rlimit.h sys/resource.h)
AC_CHECK_HEADERS(string.h strings.h signal.h sys/socket.h sys/un.h termios.h)
@@ -312,7 +312,6 @@
AC_FUNC_SETPGRP()
fi
AC_TYPE_SIGNAL()
-AC_FUNC_UTIME_NULL()
AC_FUNC_VPRINTF()
AC_FUNC_MEMCMP()
AC_CHECK_FUNCS(strsignal)
diff -r 42d0637cfc71 -r ce5cb835816b MonetDB4/src/modules/plain/alarm.mx
--- a/MonetDB4/src/modules/plain/alarm.mx Fri Nov 26 20:59:12 2010 +0100
+++ b/MonetDB4/src/modules/plain/alarm.mx Fri Nov 26 20:59:41 2010 +0100
@@ -286,12 +286,14 @@
#ifdef HAVE_CTIME_R3
char buf[26];
- *retval = GDKstrdup(ctime_r(&t, buf, sizeof(buf)));
+ ctime_r(&t, buf, sizeof(buf));
+ *retval = GDKstrdup(buf);
#else
#ifdef HAVE_CTIME_R
char buf[26];
- *retval = GDKstrdup(ctime_r(&t, buf));
+ ctime_r(&t, buf);
+ *retval = GDKstrdup(buf);
#else
*retval = GDKstrdup(ctime(&t));
#endif
diff -r 42d0637cfc71 -r ce5cb835816b MonetDB4/src/monet/monet_queue.mx
--- a/MonetDB4/src/monet/monet_queue.mx Fri Nov 26 20:59:12 2010 +0100
+++ b/MonetDB4/src/monet/monet_queue.mx Fri Nov 26 20:59:41 2010 +0100
@@ -121,12 +121,15 @@
m_export void QMclearStat(void);
#endif /* _MONET_QUEUE_H_ */
+/*
@}
@-
The number of requests entered in the queue is counted.
This counter is decremented when a requests is finished or forcefully removed from \
the queue. If it becomes zero there aren't any requests left for processing.
@{
+@h
+*/
@c
#include "monetdb4_config.h"
#include "monet_deparse.h"
@@ -156,7 +159,7 @@
THRprintf(fp, buf);
}
-
+/*
@
@}
@-
@@ -165,6 +168,8 @@
The request immediately gets a unique time stamp for tracing.
@{
@c
+*/
+@c
Request
newRequest(Cntxt stk, YYSTREE data, int barrier)
{
@@ -186,6 +191,7 @@
return p;
}
+/*
@
@}
@@ -195,6 +201,8 @@
one arbitrary monet Interpreter thread that stumbles on it.
@{
@c
+*/
+@c
void
putkillRequest(void)
{
@@ -203,6 +211,7 @@
putRequest(m);
}
+/*
@
@}
@-
@@ -216,6 +225,8 @@
All code should pass the wakeupRequest point.
@{
@c
+*/
+@c
int sem = 0;
char mybuf[16000], *myp = mybuf;
@@ -256,10 +267,9 @@
qm_last->ev_next = p;
qm_last = last;
}
-@-
-Now that all requests have been added, we should identify those that
-are eligable for execution. Their state is set accordingly.
-@c
+ /* Now that all requests have been added, we should identify
+ * those that are eligable for execution. Their state is set
+ * accordingly. */
for (; p; p = p->ev_next)
if (p->ev_status == 0) {
wakeupRequest(p);
@@ -321,6 +331,7 @@
monet_unset_lock(monet_critical, "nxtRequest");
}
+/*
@-
The getRequest function is protected by the semaphore, such that
the processes interested in a request are blocked until one becomes
@@ -328,6 +339,8 @@
thread. Then it should reset the status before leaving this scope.
The flag barrier searches requests that lower the barrier request first.
@c
+*/
+@c
Request
getRequest(Request barrier)
{
@@ -347,7 +360,7 @@
}
for (q = qm_first; q; q = q->ev_next)
if (q->ev_status == EVPENDING) {
- if (q->ev_process == 0 || q->ev_process == tid) {
+ if ((q->ev_process == 0 && (q->ev_data != 0 || tid != 1)) || q->ev_process == \
tid) { goto getReq0;
}
}
@@ -370,6 +383,7 @@
return q;
}
+/*
@-
Some top level routines need access to the current queue request, so
as to prepare a dependency list. Since a thread may temporarily suspend
@@ -380,6 +394,8 @@
The corresponding unlink code has been written such that
this routine need not be placed in a critical section.
@c
+*/
+@c
Request
thisRequest(void)
{
@@ -409,6 +425,7 @@
return NULL;
}
+/*
@
@}
@@ -418,6 +435,8 @@
It directly manipulates the stack and also gets rid of the
old requests.
@c
+*/
+@c
void
rmRequest(Request r)
{
@@ -437,6 +456,7 @@
monet_unset_lock(monet_critical, "rmRequest");
}
+/*
@-
Once an event is handled the status field should be changed
to reflect the situation and any runable event should be detected.
@@ -446,6 +466,8 @@
@{
@c
+*/
+@c
void
unlinkRequest(Request q)
{
@@ -465,6 +487,7 @@
}
+/*
@-
A request is immediately removed from the queue once it has been handled.
If the request was traced for performance, it is moved to the history queue,
@@ -481,6 +504,8 @@
The process id is invalidated to avoid collapses with thisRequest().
@c
+*/
+@c
void
clrRequest(Request q)
{
@@ -503,8 +528,11 @@
monet_unset_lock(monet_critical, "clrRequest");
}
+/*
@- Request exeuction
@c
+*/
+@c
int
handleRequest(Thread t, Request q, ValPtr res)
{
@@ -526,10 +554,8 @@
return 0;
}
-@-
-This was needed to ensure proper delivery of output;
-A kill request is handled directly.
-@c
+ /* This was needed to ensure proper delivery of output; A kill
+ * request is handled directly. */
if (lt == NULL) {
assert(stk == 0);
PARDEBUG {
@@ -571,6 +597,7 @@
}
}
+/*
@
@}
@@ -586,6 +613,8 @@
manipulation with queue keys returned by QMenqueue. They others are generated
internally.
@c
+*/
+@c
int
QMenqueue(Cntxt stk, YYSTREE data, int barrier, int kill)
{
@@ -622,10 +651,13 @@
return 0;
}
+/*
@-
Dequeuing a request cascades to its dependents (in all directions).
This way the user need not keep track of all requests generated on the fly.
@c
+*/
+@c
#if 0
static void
QMdequeue(int qkey)
@@ -651,9 +683,12 @@
}
#endif
+/*
@-
A request can be activated using the queue key.
@c
+*/
+@c
void
QMwakeup(int qkey)
{
@@ -677,10 +712,13 @@
PARDEBUG THRprintf(GDKerr, "QMwakeup: qkey %d not found\n", qkey);
}
+/*
@-
The user is responsible for creation of a synchronization request to
align multiple parallel requests.
@c
+*/
+@c
int
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic