Changeset: 566a6daa0a9c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=566a6daa0a9c
Modified Files:
gdk/gdk_storage.c
Branch: resultset
Log Message:
Two experimental settings for BATmsync
diffs (48 lines):
diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -594,6 +594,8 @@ DESCclean(BAT *b)
* This leaves you with possibly deadbeef BAT descriptors.
*/
+#define MSYNC_BACKGROUND
+
typedef struct{
char *adr;
size_t len;
@@ -608,7 +610,9 @@ BATmsyncImplementation( void *arg){
void
BATmsync(BAT *b)
{
+#ifdef MSYNC_BACKGROUND
MT_Id tid;
+#endif
Msyncjob job;
Msyncjob jobv;
@@ -620,7 +624,11 @@ BATmsync(BAT *b)
if( offset )
job.adr -= (MT_pagesize() - offset);
if( job.len)
- MT_create_thread(&tid, BATmsyncImplementation, (void *) &job,
MT_THR_JOINABLE);
+#ifdef MSYNC_BACKGROUND
+ MT_create_thread(&tid, BATmsyncImplementation, (void *) &job,
MT_THR_DETACHED);
+#else
+ BATmsyncImplementation((void*) &job);
+#endif
if( b->T->vheap){
jobv.adr = b->T->vheap->base;
@@ -630,7 +638,11 @@ BATmsync(BAT *b)
if( offset )
jobv.adr -= (MT_pagesize() - offset);
if( jobv.len)
- MT_create_thread(&tid, BATmsyncImplementation, (void *)
&jobv, MT_THR_JOINABLE);
+#ifdef MSYNC_BACKGROUND
+ MT_create_thread(&tid, BATmsyncImplementation, (void *)
&jobv, MT_THR_DETACHED);
+#else
+ BATmsyncImplementation((void*) &job);
+#endif
}
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list