// FOSA(Frescor Operating System Adaptation layer)
//================================================
-
+#include <fosa.h>
/*************************
* Thread identification
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;
}
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;
}
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;
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;
sigwaitinfo(&bitset, &__info);
*signal_received=__info.si_signo;
*info = __info.si_value.sival_ptr;
- ??????
+ ??????*/
}