[Spread-cvs] commit: r635 - in branches/experimental-4.3-threaded: daemon libspread-util/src stdutil/src
jschultz at spread.org
jschultz at spread.org
Mon Jan 13 11:30:23 EST 2014
Author: jschultz
Date: 2014-01-13 11:30:22 -0500 (Mon, 13 Jan 2014)
New Revision: 635
Modified:
branches/experimental-4.3-threaded/daemon/configuration.c
branches/experimental-4.3-threaded/daemon/protocol.c
branches/experimental-4.3-threaded/daemon/session.c
branches/experimental-4.3-threaded/daemon/signal_queues.c
branches/experimental-4.3-threaded/daemon/spread.c
branches/experimental-4.3-threaded/libspread-util/src/events.c
branches/experimental-4.3-threaded/stdutil/src/stdarr.c
Log:
Fixes I shoud have committed a while ago
Modified: branches/experimental-4.3-threaded/daemon/configuration.c
===================================================================
--- branches/experimental-4.3-threaded/daemon/configuration.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/daemon/configuration.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -623,11 +623,12 @@
for ( j=0; j < src_conf->segments[i].num_procs; j++ )
{
p_index = Conf_proc_by_id_in_conf(dst_conf, src_conf->segments[i].procs[j]->id, &p);
- assert(p_index != -1);
- dst_conf->segments[i].procs[j] = &(dst_conf->allprocs[p_index]);
+ /*assert(p_index != -1);*/
+ dst_conf->segments[i].procs[j] = (p_index != -1 ? &(dst_conf->allprocs[p_index]) : NULL);
}
}
+#if 0
#ifndef NDEBUG
/* Verify correct state after copy */
for (i=0; i < dst_conf->num_segments; i++ )
@@ -638,6 +639,7 @@
}
}
#endif
+#endif
}
static int Conf_proc_ref_by_id( int32u id, proc **p )
Modified: branches/experimental-4.3-threaded/daemon/protocol.c
===================================================================
--- branches/experimental-4.3-threaded/daemon/protocol.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/daemon/protocol.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -218,6 +218,9 @@
Signal_Q_init(&Sess_Daemon_Q, sizeof(down_link*));
+ printf("################# Sess_Daemon_Q %p inited %d %d!\n",
+ &Sess_Daemon_Q, (int) stdarr_size(&Sess_Daemon_Q.main_q), (int) stdarr_size(&Sess_Daemon_Q.process_q));
+
E_attach_fd( Sess_Daemon_Q.q_pipe[0], READ_FD, Prot_process_sess_q, 0, 0, HIGH_PRIORITY );
}
Modified: branches/experimental-4.3-threaded/daemon/session.c
===================================================================
--- branches/experimental-4.3-threaded/daemon/session.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/daemon/session.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -119,7 +119,7 @@
signal_q Daemon_Sess_Q;
static E_events *Session_Events = NULL;
-#ifdef _REENTRANT
+#ifdef USE_THREADS
static E_events Session_Events_Impl;
static stdthread Session_Thread;
static stdthread_id Session_Thread_ID;
@@ -144,7 +144,7 @@
static void Sess_create_reject_message ( message_obj *msg );
static int Sess_get_p2p_dests( int num_groups, char groups[][MAX_GROUP_NAME], char dests[][MAX_GROUP_NAME] );
-#ifdef _REENTRANT
+#ifdef USE_THREADS
static void * STDTHREAD_FCN Sess_run(void *arg)
{
E_events_handle_events(&Session_Events);
@@ -155,7 +155,7 @@
void Sess_spawn(void)
{
-#ifdef _REENTRANT
+#ifdef USE_THREADS
stdcode code;
if ((code = stdthread_spawn(&Session_Thread, &Session_Thread_ID, Sess_run, NULL))) {
@@ -389,7 +389,7 @@
Alarm(EXIT, "Sess_init: Failure to Initialize MEMB_OBJ memory objects\n");
}
-#ifndef _REENTRANT
+#ifndef USE_THREADS
Session_Events = &G_Events;
#else
Session_Events = &Session_Events_Impl;
@@ -399,6 +399,11 @@
}
#endif
+ Signal_Q_init(&Daemon_Sess_Q, sizeof(message_link*)); /* ### Testing queues */
+
+ printf("################# Daemon_Sess_Q %p inited %d %d!\n",
+ &Daemon_Sess_Q, (int) stdarr_size(&Daemon_Sess_Q.main_q), (int) stdarr_size(&Daemon_Sess_Q.process_q));
+
Sess_init_sessions ();
Num_sessions = 0;
@@ -496,8 +501,6 @@
G_init();
- Signal_Q_init(&Daemon_Sess_Q, sizeof(message_link*)); /* ### Testing queues */
-
E_events_attach_fd( Session_Events, Daemon_Sess_Q.q_pipe[0], READ_FD, Sess_process_daemon_q, 0, 0, HIGH_PRIORITY );
Alarm( SESSION, "Sess_init: ended ok\n" );
Modified: branches/experimental-4.3-threaded/daemon/signal_queues.c
===================================================================
--- branches/experimental-4.3-threaded/daemon/signal_queues.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/daemon/signal_queues.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -14,14 +14,41 @@
stdcode code;
int on;
- if ((code = stdarr_construct(&q->main_q, vsize, STDARR_OPTS_NO_AUTO_SHRINK)) ||
- (code = stdarr_construct(&q->process_q, vsize, STDARR_OPTS_NO_AUTO_SHRINK)) ||
- (code = stdmutex_construct(&q->q_mut, STDMUTEX_FAST)) ||
- pipe(q->q_pipe) ||
- ioctl(q->q_pipe[0], FIONBIO, (on = 1, &on)) == -1 ||
- ioctl(q->q_pipe[1], FIONBIO, (on = 1, &on)) == -1) {
+ if ((code = stdarr_construct(&q->main_q, vsize, STDARR_OPTS_NO_AUTO_SHRINK))) {
Alarm(EXIT, "Signal_Q_init: failed; code = %d; '%s' error '%s'\n", code, stderr_strerr(code), strerror(errno));
}
+
+ printf("Signal_Q_init:%d: %p %d %d\n", __LINE__, q, vsize, stdarr_size(&q->main_q));
+
+ if ((code = stdarr_construct(&q->process_q, vsize, STDARR_OPTS_NO_AUTO_SHRINK))) {
+ Alarm(EXIT, "Signal_Q_init: failed; code = %d; '%s' error '%s'\n", code, stderr_strerr(code), strerror(errno));
+ }
+
+ printf("Signal_Q_init:%d: %p %d %d %d\n", __LINE__, q, vsize, stdarr_size(&q->main_q), stdarr_size(&q->process_q));
+
+ if ((code = stdmutex_construct(&q->q_mut, STDMUTEX_FAST))) {
+ Alarm(EXIT, "Signal_Q_init: failed; code = %d; '%s' error '%s'\n", code, stderr_strerr(code), strerror(errno));
+ }
+
+ printf("Signal_Q_init:%d: %p %d %d %d\n", __LINE__, q, vsize, stdarr_size(&q->main_q), stdarr_size(&q->process_q));
+
+ if (pipe(q->q_pipe)) {
+ Alarm(EXIT, "Signal_Q_init: failed; code = %d; '%s' error '%s'\n", code, stderr_strerr(code), strerror(errno));
+ }
+
+ printf("Signal_Q_init:%d: %p %d %d %d\n", __LINE__, q, vsize, stdarr_size(&q->main_q), stdarr_size(&q->process_q));
+
+ if (ioctl(q->q_pipe[0], FIONBIO, (on = 1, &on)) == -1) {
+ Alarm(EXIT, "Signal_Q_init: failed; code = %d; '%s' error '%s'\n", code, stderr_strerr(code), strerror(errno));
+ }
+
+ printf("Signal_Q_init:%d: %p %d %d %d\n", __LINE__, q, vsize, stdarr_size(&q->main_q), stdarr_size(&q->process_q));
+
+ if (ioctl(q->q_pipe[1], FIONBIO, (on = 1, &on)) == -1) {
+ Alarm(EXIT, "Signal_Q_init: failed; code = %d; '%s' error '%s'\n", code, stderr_strerr(code), strerror(errno));
+ }
+
+ printf("Signal_Q_init:%d: %p %d %d %d\n", __LINE__, q, vsize, stdarr_size(&q->main_q), stdarr_size(&q->process_q));
}
void Signal_Q_destroy(signal_q *q)
Modified: branches/experimental-4.3-threaded/daemon/spread.c
===================================================================
--- branches/experimental-4.3-threaded/daemon/spread.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/daemon/spread.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -213,6 +213,8 @@
E_handle_events();
+ printf("Goodbye!\n");
+
return 0;
}
Modified: branches/experimental-4.3-threaded/libspread-util/src/events.c
===================================================================
--- branches/experimental-4.3-threaded/libspread-util/src/events.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/libspread-util/src/events.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -235,6 +235,8 @@
ret.sec = t.tv_sec;
ret.usec = t.tv_usec;
+ assert(0 <= ret.usec && ret.usec < 1000000);
+
return ret;
}
#endif
@@ -1745,7 +1747,7 @@
t.usec -= 1000000;
++t.sec;
- } else if (t.usec < 1000000) {
+ } else if (t.usec < -1000000) {
t.usec += 1000000;
--t.sec;
}
@@ -1972,6 +1974,8 @@
E_backend_type backend_type;
int ret = 0;
+ printf("E_events_init: %p entered\n", events);
+
memset(events, 0, sizeof(*events));
events->keep_running = STDFALSE; /* NOTE: only set in E_events_handle_events; indicates loop is running */
@@ -2073,6 +2077,8 @@
assert(ret != 0);
END:
+ printf("E_events_init: %p leaving %d\n", events, ret);
+
return ret;
}
@@ -2494,6 +2500,8 @@
E_priority dispatch_lvl = events->max_priority;
E_priority starve_lvl;
+ printf("E_events_handle_events: %p entered\n", events);
+
events->keep_running = STDTRUE;
do {
@@ -2556,6 +2564,8 @@
} while (events->keep_running);
+ printf("E_events_exit_events: %p leaving? keep_running = %d\n", events, events->keep_running);
+
assert(ret == 0);
goto END;
@@ -2565,6 +2575,8 @@
assert(ret != 0 && ret != E_REPOPULATE);
END:
+ printf("E_events_exit_events: %p leaving %d\n", events, ret);
+
return ret;
}
@@ -2573,7 +2585,12 @@
void E_events_exit_events(E_events *events)
{
+ printf("E_events_exit_events: %p entered\n", events);
+ abort();
+
events->keep_running = STDFALSE;
+
+ printf("E_events_exit_events: %p leaving\n", events);
}
/***************************************************************************************************************************
Modified: branches/experimental-4.3-threaded/stdutil/src/stdarr.c
===================================================================
--- branches/experimental-4.3-threaded/stdutil/src/stdarr.c 2014-01-09 21:12:16 UTC (rev 634)
+++ branches/experimental-4.3-threaded/stdutil/src/stdarr.c 2014-01-13 16:30:22 UTC (rev 635)
@@ -173,12 +173,14 @@
arr->vsize = vsize;
arr->opts = opts;
+ STDSAFETY_CHECK(STDARR_IS_LEGAL(arr) && ret == STDESUCCESS);
goto stdarr_construct_end;
/* error handling and return */
stdarr_construct_fail:
arr->vsize = 0; /* make STDARR_IS_LEGAL(arr) false */
+ STDSAFETY_CHECK(ret != STDESUCCESS);
stdarr_construct_end:
return ret;
More information about the Spread-cvs
mailing list