Changeset: 4175e2bd6cfa for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4175e2bd6cfa Modified Files: MonetDB/sysdefs.h.in MonetDB5/src/compiler/Makefile.ag MonetDB5/src/compiler/Tests/All MonetDB5/src/compiler/Tests/mal01.mal MonetDB5/src/compiler/Tests/mal01.stable.err MonetDB5/src/compiler/Tests/mal01.stable.out MonetDB5/src/compiler/Tests/sql01.mal MonetDB5/src/compiler/Tests/sql01.stable.err MonetDB5/src/compiler/Tests/sql01.stable.out MonetDB5/src/compiler/mal_compiler.mx MonetDB5/src/compiler/mcc MonetDB5/src/mal/libmonetdb5.rc MonetDB5/src/mal/monetdb-mal.pc.in MonetDB5/src/modules/atoms/05_xml.mal MonetDB5/src/modules/atoms/Tests/xml100.mal MonetDB5/src/modules/atoms/Tests/xml100.modules MonetDB5/src/modules/atoms/Tests/xml100.stable.err MonetDB5/src/modules/atoms/Tests/xml100.stable.out MonetDB5/src/modules/atoms/xml.mx MonetDB5/src/modules/kernel/sphinx.mx MonetDB5/src/modules/mal/Tests/batxml100.mal MonetDB5/src/modules/mal/batxml.mx MonetDB5/src/modules/mal/crackers/Makefile.ag MonetDB5/src/modules/mal/crackers/crackers.mx MonetDB5/src/modules/mal/crackers/crackers_AVL_index.mx MonetDB5/src/modules/mal/crackers/crackers_AVL_tree.mx MonetDB5/src/modules/mal/crackers/crackers_core_ordered.mx MonetDB5/src/modules/mal/crackers/crackers_core_unordered.mx MonetDB5/src/modules/mal/crackers/crackers_crackmerge.mx MonetDB5/src/modules/mal/crackers/crackers_index.mx MonetDB5/src/modules/mal/crackers/crackers_joins.mx MonetDB5/src/modules/mal/crackers/crackers_joinselect_ops.mx MonetDB5/src/modules/mal/crackers/crackers_partial_sideways.mx MonetDB5/src/modules/mal/crackers/crackers_populate.mx MonetDB5/src/modules/mal/crackers/crackers_pq.mx MonetDB5/src/modules/mal/crackers/crackers_select_ops.mx MonetDB5/src/modules/mal/crackers/crackers_sideways.mx MonetDB5/src/modules/mal/crackers/crackers_sortmerge.mx MonetDB5/src/modules/mal/crackers/crackers_updates.mx MonetDB5/src/modules/mal/crackers/crackers_validation.mx MonetDB5/src/modules/mal/rdf/10_rdf.mal MonetDB5/src/modules/mal/rdf/Makefile.ag MonetDB5/src/modules/mal/rdf/rdf.mx MonetDB5/src/modules/mal/rdf/rdf_shredder.mx clients/conf/Tests/monetdb-clients-conds.stable.out.Darwin.64bit sql/src/test/test.sh sql/src/test/test.sh2 Branch: sciql Log Message:
Merge with head diffs (truncated from 397741 to 300 lines): diff -r 5aa1d5812930 -r 4175e2bd6cfa .hgtags --- a/.hgtags Tue Oct 26 23:31:21 2010 +0200 +++ b/.hgtags Wed Nov 03 17:49:30 2010 +0100 @@ -425,3 +425,4 @@ 19ede2d368c6cba18d6b67cd8bde9d51af2ac9f8 Jun2010_5 931928c216bc600a35580fa19f73daac66bd3571 Jun2010_5 f0df8bc4610227ef4d0b54b21f978c0c3cb3f31f Oct2010_root +ae12a56d3420aae3cf9928d4a7ddae30d3bf70be Oct2010_1 diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/Makefile.ag --- a/MonetDB/Makefile.ag Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/Makefile.ag Wed Nov 03 17:49:30 2010 +0100 @@ -17,9 +17,6 @@ SUBDIRS = src conf -EXTRA_DIST = configure.ag rpm.mk.in sysdefs.h.in \ - MonetDB.spec MonetDB.spec +EXTRA_DIST = configure.ag rpm.mk.in MonetDB.spec EXTRA_DIST_DIR = NT debian - -EXTRA_HEADERS = sysdefs.h diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/MonetDB.spec --- a/MonetDB/MonetDB.spec Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/MonetDB.spec Wed Nov 03 17:49:30 2010 +0100 @@ -26,7 +26,7 @@ Group: Applications/Databases License: MPL - http://monetdb.cwi.nl/Legal/MonetDBLicense-1.1.html URL: http://monetdb.cwi.nl/ -Source: http://dev.monetdb.org/downloads/sources/Jun2010-SP2/%{name}-%{version}.tar.gz +Source: http://dev.monetdb.org/downloads/sources/Oct2010/%{name}-%{version}.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: zlib-devel, bzip2-devel, openssl-devel @@ -110,6 +110,9 @@ %{_libdir}/libbat.so %changelog +* Fri Oct 29 2010 Sjoerd Mullender <[email protected]> - 1.40.1-20101029 +- Rebuilt. + * Tue Aug 24 2010 Sjoerd Mullender <[email protected]> - 1.38.5-20100824 - Rebuilt. diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/NT/MonetDB-Common/MonetDB-Common.vdproj --- a/MonetDB/NT/MonetDB-Common/MonetDB-Common.vdproj Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/NT/MonetDB-Common/MonetDB-Common.vdproj Wed Nov 03 17:49:30 2010 +0100 @@ -51,12 +51,6 @@ } "Entry" { - "MsmKey" = "8:_BB4791ABAA4349E4A0DE1EDA0772E622" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_BFB12BC46509499A943E79B9BECB1E9A" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -305,26 +299,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BB4791ABAA4349E4A0DE1EDA0772E622" - { - "SourcePath" = "8:C:\\Libraries\\Pthreads\\lib\\pthreadVC2.dll" - "TargetName" = "8:pthreadVC2.dll" - "Tag" = "8:" - "Folder" = "8:_AC71646495814C55B03F69019B5070C2" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BFB12BC46509499A943E79B9BECB1E9A" { "SourcePath" = "8:C:\\Program Files\\PCRE\\bin\\pcre.dll" diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/NT/MonetDB-Common/MonetDB-Common64.vdproj --- a/MonetDB/NT/MonetDB-Common/MonetDB-Common64.vdproj Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/NT/MonetDB-Common/MonetDB-Common64.vdproj Wed Nov 03 17:49:30 2010 +0100 @@ -51,12 +51,6 @@ } "Entry" { - "MsmKey" = "8:_BB4791ABAA4349E4A0DE1EDA0772E622" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { "MsmKey" = "8:_BFB12BC46509499A943E79B9BECB1E9A" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -285,26 +279,6 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BB4791ABAA4349E4A0DE1EDA0772E622" - { - "SourcePath" = "8:C:\\Libraries\\Pthreads\\lib64\\pthreadVC2.dll" - "TargetName" = "8:pthreadVC2.dll" - "Tag" = "8:" - "Folder" = "8:_AC71646495814C55B03F69019B5070C2" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BFB12BC46509499A943E79B9BECB1E9A" { "SourcePath" = "8:C:\\Program Files\\PCRE\\bin\\pcre.dll" diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/configure.ag --- a/MonetDB/configure.ag Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/configure.ag Wed Nov 03 17:49:30 2010 +0100 @@ -27,7 +27,6 @@ AC_CONFIG_AUX_DIR(conf) AC_CANONICAL_HOST AC_CANONICAL_TARGET -AH_TOP([#include "sysdefs.h"]) AH_BOTTOM([#include "stddef.h"]) AM_INIT_AUTOMAKE AC_CONFIG_SRCDIR([src/gdk/gdk.mx]) diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/debian/changelog --- a/MonetDB/debian/changelog Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/debian/changelog Wed Nov 03 17:49:30 2010 +0100 @@ -1,3 +1,9 @@ +monetdb (1.40.1-20101029) unstable; urgency=low + + * Rebuilt. + + -- Sjoerd Mullender <[email protected]> Fri, 29 Oct 2010 10:30:29 +0200 + monetdb (1.38.5-20100824) unstable; urgency=low * Rebuilt. diff -r 5aa1d5812930 -r 4175e2bd6cfa MonetDB/src/gdk/gdk_system.mx --- a/MonetDB/src/gdk/gdk_system.mx Tue Oct 26 23:31:21 2010 +0200 +++ b/MonetDB/src/gdk/gdk_system.mx Wed Nov 03 17:49:30 2010 +0100 @@ -149,7 +149,9 @@ @h typedef size_t MT_Id; /* thread number. will not be zero */ -gdk_export int MT_create_thread(MT_Id *t, void (*function) (void *), void *arg); +enum MT_thr_detach { MT_THR_JOINABLE, MT_THR_DETACHED }; + +gdk_export int MT_create_thread(MT_Id *t, void (*function) (void *), void *arg, enum MT_thr_detach d); gdk_export void MT_exit_thread(int status); gdk_export void MT_global_exit(int status); gdk_export MT_Id MT_getpid(void); @@ -177,6 +179,16 @@ @- MT Lock API @h +#if !defined(HAVE_PTHREAD_H) && defined(_MSC_VER) +typedef HANDLE pthread_mutex_t; +typedef void *pthread_mutexattr_t; +gdk_export void pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *); +gdk_export void pthread_mutex_destroy(pthread_mutex_t *); +gdk_export int pthread_mutex_lock(pthread_mutex_t *); +gdk_export int pthread_mutex_trylock(pthread_mutex_t *); +gdk_export int pthread_mutex_unlock(pthread_mutex_t *); +#endif + typedef pthread_mutex_t MT_Lock; #define MT_lock_init(l,n) { pthread_mutex_init((pthread_mutex_t*) l, 0); MT_locktrace_set(l,n); } @@ -198,7 +210,13 @@ @- MT Semaphore API @h -#if defined(_AIX) || defined(__MACH__) +#if !defined(HAVE_PTHREAD_H) && defined(_MSC_VER) +typedef HANDLE pthread_sema_t; +gdk_export void pthread_sema_init(pthread_sema_t *s, int flag, int nresources); +gdk_export void pthread_sema_destroy(pthread_sema_t *s); +gdk_export void pthread_sema_up(pthread_sema_t *s); +gdk_export void pthread_sema_down(pthread_sema_t *s); +#elif defined(_AIX) || defined(__MACH__) typedef struct { int cnt; pthread_mutex_t mutex; @@ -234,6 +252,18 @@ @- MT Conditional Variable API @h +#if !defined(HAVE_PTHREAD_H) && defined(_MSC_VER) +typedef struct { + int waiters_count; /* number of waiting threads */ + CRITICAL_SECTION waiters_count_lock; /* serialize access to waiters_count_ */ + HANDLE sema; /* queue up threads waiting for condition */ +} pthread_cond_t; +typedef void *pthread_condattr_t; +gdk_export int pthread_cond_init(pthread_cond_t *, pthread_condattr_t *); +gdk_export int pthread_cond_destroy(pthread_cond_t *); +gdk_export int pthread_cond_signal(pthread_cond_t *); +gdk_export int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *); +#endif typedef pthread_cond_t MT_Cond; #define MT_cond_init(c,n) { pthread_cond_init((pthread_cond_t*) c, NULL); MT_locktrace_set(c,n); } @@ -260,7 +290,11 @@ size_t _MT_pagesize = 0; /* variable holding memory size */ size_t _MT_npages = 0; /* variable holding page size */ -MT_Lock MT_system_lock = PTHREAD_MUTEX_INITIALIZER; +MT_Lock MT_system_lock +#ifdef PTHREAD_MUTEX_INITIALIZER + = PTHREAD_MUTEX_INITIALIZER +#endif + ; #ifdef MT_LOCK_TRACE unsigned long long MT_locktrace_cnt[65536] = { 0 }; @@ -408,6 +442,249 @@ #endif } +#if !defined(HAVE_PTHREAD_H) && defined(_MSC_VER) +static struct winthread { + struct winthread *next; + HANDLE hdl; + DWORD tid; + void (*func) (void *); + void *arg; +} *winthreads = NULL; +static CRITICAL_SECTION winthread_cs; +static int winthread_cs_init = 0; + +static void +rm_winthread(struct winthread *w) +{ + struct winthread **wp; + + assert(winthread_cs_init); + EnterCriticalSection(&winthread_cs); + for (wp = &winthreads; *wp && *wp != w; wp = &(*wp)->next) + ; + if (*wp) + *wp = w->next; + LeaveCriticalSection(&winthread_cs); + GDKfree(w); +} + +static DWORD WINAPI +thread_starter(LPVOID arg) +{ + (*((struct winthread *) arg)->func)(((struct winthread *) arg)->arg); + if (((struct winthread *) arg)->hdl == NULL) + rm_winthread((struct winthread *) arg); + ExitThread(0); + return TRUE; +} + +int +MT_create_thread(MT_Id *t, void (*f) (void *), void *arg, enum MT_thr_detach d) +{ + struct winthread *w = GDKmalloc(sizeof(*w)); + + if (winthread_cs_init == 0) { + /* we only get here before any threads are created, + and this is the only time that winthread_cs_init is + ever changed */ + InitializeCriticalSection(&winthread_cs); + winthread_cs_init = 1; + } + w->func = f; + w->arg = arg; + EnterCriticalSection(&winthread_cs); + w->next = winthreads; + winthreads = w; + LeaveCriticalSection(&winthread_cs); + w->hdl = CreateThread(NULL, THREAD_STACK_SIZE, thread_starter, w, 0, &w->tid); + if (w->hdl == NULL) { + rm_winthread(w); + return -1; + } + *t = (MT_Id) w->tid; + if (d == MT_THR_DETACHED) { + /* not joinable */ + CloseHandle(w->hdl); + w->hdl = NULL; _______________________________________________ Checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
