]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - src_rtlinux/fosa_threads_and_signals.c
rtlinux version of fosa_app_def_sched.c already compiles
[frescor/fosa.git] / src_rtlinux / fosa_threads_and_signals.c
index 9fd715faa9f6b52a1736c4d21bbf201ced49258a..021c78a4f8c56a5533bcd7d8a4b9b15e30f1969f 100644 (file)
@@ -139,7 +139,7 @@ int fosa_thread_attr_set_prio(frsh_thread_attr_t *attr, int prio) {
   return EINVAL;
 }
 
-int fosa_thread_attr_get_prio (const frsh_thread_attr_t *attr, size_t *prio){
+int fosa_thread_attr_get_prio (const frsh_thread_attr_t *attr, int *prio){
      *prio = attr->sched_param.sched_priority;
      return 0;
 }
@@ -189,17 +189,18 @@ int fosa_signal_queue (frsh_signal_t signal, frsh_signal_info_t info,
                        frsh_thread_id_t receiver){
      union sigval value;
      
-     value.sival_ptr=info.area;
-     return sigqueue(receiver, signal, value);
+     value.sival_ptr=info.sival_ptr;
+     return sigqueue(0, signal, value);
 }
 
 int fosa_signal_queue_scheduler(frsh_signal_t signal, frsh_signal_info_t info) {
      union posix_appsched_eventinfo eventinfo;
      eventinfo.sig.signo=signal;
-     eventinfo.sig.siginfo=info;
+     eventinfo.sig.siginfo= (siginfo_t){info.sival_int};
      generate_event(pthread_self(), fosa_scheduler_thread, 
                     POSIX_APPSCHED_SIGNAL, &eventinfo, 
                     sizeof(union posix_appsched_eventinfo));
+     return 0;
 }
 
 int fosa_signal_wait (frsh_signal_t set[], int size, frsh_signal_t *signal_received,