]> Zhao Yanbai Git Server - minix.git/commitdiff
SEF: default to endpoint-changing restart
authorDavid van Moolenbroek <david@minix3.org>
Mon, 5 Dec 2011 09:51:58 +0000 (10:51 +0100)
committerDavid van Moolenbroek <david@minix3.org>
Mon, 5 Dec 2011 15:28:07 +0000 (16:28 +0100)
common/include/minix/sef.h
lib/libsys/sef_init.c

index d78b395531cca340d85a4ac151c9b64f867cd01c..f1bf1180b34312e0610a98f9c3750fe467cd215a 100644 (file)
@@ -48,6 +48,7 @@ _PROTOTYPE( int sef_cb_init_null, (int type, sef_init_info_t *info) );
 _PROTOTYPE( int sef_cb_init_response_null, (message *m_ptr) );
 
 _PROTOTYPE( int sef_cb_init_fail, (int type, sef_init_info_t *info) );
+_PROTOTYPE( int sef_cb_init_reset, (int type, sef_init_info_t *info) );
 _PROTOTYPE( int sef_cb_init_crash, (int type, sef_init_info_t *info) );
 _PROTOTYPE( int sef_cb_init_response_rs_reply, (message *m_ptr) );
 
@@ -59,7 +60,7 @@ _PROTOTYPE( int sef_cb_init_response_rs_reply, (message *m_ptr) );
 
 #define SEF_CB_INIT_FRESH_DEFAULT       sef_cb_init_null
 #define SEF_CB_INIT_LU_DEFAULT          sef_cb_init_null
-#define SEF_CB_INIT_RESTART_DEFAULT     sef_cb_init_null
+#define SEF_CB_INIT_RESTART_DEFAULT     sef_cb_init_reset
 #define SEF_CB_INIT_RESPONSE_DEFAULT    sef_cb_init_response_rs_reply
 
 /* Init types. */
index 783b04ad06dc2f84110c7f2eaca0a72d3fae13ed..82ebf867c0a7c7e90b780887cd1f9bc715273cd5 100644 (file)
@@ -181,6 +181,15 @@ PUBLIC int sef_cb_init_fail(int UNUSED(type), sef_init_info_t *UNUSED(info))
   return ENOSYS;
 }
 
+/*===========================================================================*
+ *                           sef_cb_init_reset                              *
+ *===========================================================================*/
+PUBLIC int sef_cb_init_reset(int UNUSED(type), sef_init_info_t *UNUSED(info))
+{
+  /* Tell RS to reincarnate us, with no old resources, and a new endpoint. */
+  return ERESTART;
+}
+
 /*===========================================================================*
  *                           sef_cb_init_crash                              *
  *===========================================================================*/