]> rtime.felk.cvut.cz Git - frescor/fosa.git/commitdiff
Small further corrections in FOSA done by Michael
authortelleriam <telleriam@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Wed, 6 Jun 2007 12:05:19 +0000 (12:05 +0000)
committertelleriam <telleriam@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Wed, 6 Jun 2007 12:05:19 +0000 (12:05 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fosa/trunk@429 35b4ef3e-fd22-0410-ab77-dab3279adceb

include/fosa_app_def_sched.h
include/fosa_opaque_types.h
include/fosa_types.h

index 6ed45ffe8ca4fa53ac2f4e0e014832bbb128ef4f..1b56cfc030688cb4b99f7cf4859b173ea53b8930 100644 (file)
  * arg. A pointer to this new created area will be passed to the
  * primitive operation init() in its arg parameter.
  *
+ * This function must be called before any other function in this
+ * header file.
+ *
+ * In addition it must be called at a priority level no greater than
+ * the priority at which the scheduler operations execute.  This
+ * priority is defined as the maximum SCHED_FIFO priority in the
+ * system minus the configuration parameter FOSA_ADS_SCHEDULER_PRIO_DIFF.
+ *
  * Returns 0 if successful; otherwise it returns an error code:
  *     EINVAL: The value of scheduler_ops was invalid
  *     EAGAIN: The system lacks enough resources to create the scheduler
@@ -457,8 +465,6 @@ int fosa_adsactions_add_suspend(
  *
  *  Returns 0 if successful; otherwise it returns an error code:
  *     ENOMEM: There is insufficient memory to add this action
- *     EPOLICY: The thread specified by thread has its appscheduled
- *              attribute set to false, 
  *     EINVAL: The value specified by sched_actions is invalid
  *
  * Alternatively, in case of error the implementation is allowed to
@@ -524,6 +530,8 @@ int fosa_adsactions_add_thread_notification(
  * succeed, it has to be called from a primitive operation of a
  * scheduler.
  *
+ * The size of the array is specified by argument size.
+ *
  * Returns 0 if successful; otherwise it returns an error code:
  *    EPOLICY: The function has not been called from a scheduler 
  *              primitive operation
@@ -533,7 +541,7 @@ int fosa_adsactions_add_thread_notification(
  * notify it to the system console and then terminate the FRSH
  * implementation and dependant applications
  **/
-int fosa_ads_set_handled_signal_set(frsh_signal_t set[]);
+int fosa_ads_set_handled_signal_set(frsh_signal_t set[], int size);
 
 
 /**
index 055408dfb7b7ff768e12b264e4cc46e6fae63420..7b611ece431a1157d24420ccd30b50a08f265e23 100644 (file)
  *  ADS
  *********/
 
-#define FOSA_ADS_ACTIONS_T_OPAQUE   posix_appsched_actions_t
+typedef struct {
+    posix_appsched_actions_t actions;
+    struct timespec * timeout_ptr;
+    struct timespec timeout;
+    bool rejected;
+    bool suspended;
+    bool activated;
+} fosa_ads_actions_internal_t;
+
+
+#define FOSA_ADS_ACTIONS_T_OPAQUE fosa_ads_actions_internal_t
+
+
 
 #endif
 
index e6b102b2557ad018440382326cc218910d8870a1..0e118dd9b744353b4e38a880d6e16daf283e782b 100644 (file)
@@ -306,7 +306,7 @@ typedef struct {
   void (*explicit_call_with_data) (void * sched_data,
            frsh_thread_id_t thread,
            const void * msg, size_t msg_size,
-           void **reply, size_t *reply_size,
+           void *reply, size_t *reply_size,
            fosa_ads_actions_t * actions,
            struct timespec *current_time);
   void (*notification_for_thread) (void * sched_data,