]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - src_rtlinux/fosa_threads_and_signals.c
Fosa for rtlinux already compiles, however some functions are still missed
[frescor/fosa.git] / src_rtlinux / fosa_threads_and_signals.c
index d542b8a04489dd767365b60b9503644da2d2e606..e7f901c51a687cf459715c606c86f871de604d30 100644 (file)
@@ -57,7 +57,7 @@
 // FOSA(Frescor Operating System Adaptation layer)
 //================================================
 
-
+#include <fosa.h>
 
 /*************************
  * Thread identification
@@ -94,7 +94,8 @@ int fosa_thread_create (frsh_thread_id_t *tid, const frsh_thread_attr_t *attr,
 int fosa_thread_set_specific_data (int key, frsh_thread_id_t tid, 
                                            const void * value){
      if ((0<key) && (key<FOSA_MAX_KEYS-1)){
-          pthread_setspecific_for(key, tid, value);
+          // MISSED
+          //pthread_setspecific_for(key, tid, value);
           return 0;
      }
      return EINVAL;
@@ -131,10 +132,11 @@ int fosa_get_priority_min(){
 }
 
 int fosa_thread_attr_set_prio(frsh_thread_attr_t *attr, int prio) {
-     if ((ched_get_priority_min(0)<=prio) || (prio<=sched_get_priority_min(0))){
+       // MISSED
+     /*if ((ched_get_priority_min(0)<=prio) || (prio<=sched_get_priority_min(0))){
           attr->sched_param.sched_priority = prio;
           return 0;
-     }
+     }*/
      return EINVAL;
 }
 
@@ -173,27 +175,28 @@ int fosa_thread_get_prio (frsh_thread_id_t tid, int *prio){
 
 int fosa_set_accepted_signals(frsh_signal_t set[], int size) {
      int x;
-     rtl_sigset_t bitset;
+     // MISSED
+     /*rtl_sigset_t bitset;
 
      rtl_sigfillset(bitset); // By default all signals will be blocked.
      for (x=0; x<size; x++)
           rtl_sigdelset(bitset, set[x]); // Unblock the "set" of signals.
-     
-     return pthread_sigmask(SIG_SETMASK, bitmask, NULL);
+     */
+     return 0;//pthread_sigmask(SIG_SETMASK, bitmask, NULL);
 }
 
 
 int fosa_signal_queue (frsh_signal_t signal, frsh_signal_info_t info,
                        frsh_thread_id_t receiver){
-     union sigval value;
+/*     union sigval value;
      
      value.sival_ptr=info;
-     return sigqueue(0, signal, value);
+     return sigqueue(0, signal, value);*/
 }
 
 int fosa_signal_wait (frsh_signal_t set[], int size, frsh_signal_t *signal_received, 
                                     frsh_signal_info_t *info){
-     int x;
+/*     int x;
      rtl_sigset_t bitset;
      siginfo_t __info;
      
@@ -203,13 +206,13 @@ int fosa_signal_wait (frsh_signal_t set[], int size, frsh_signal_t *signal_recei
      sigwaitinfo(&bitset, &__info);
      *signal_received=__info.si_signo;
      *info = __info.si_value.sival_ptr;
-
+*/
 }
 
 int fosa_signal_timedwait (frsh_signal_t set[], int size, frsh_signal_t *signal_received, 
                                          frsh_signal_info_t *info, const struct timespec *timeout){
      
-     
+  /*   
      int x;
      rtl_sigset_t bitset;
      siginfo_t __info;
@@ -223,7 +226,7 @@ int fosa_signal_timedwait (frsh_signal_t set[], int size, frsh_signal_t *signal_
      sigwaitinfo(&bitset, &__info);
      *signal_received=__info.si_signo;
      *info = __info.si_value.sival_ptr;
-       ??????
+       ??????*/
 }