]> rtime.felk.cvut.cz Git - frescor/fosa.git/commitdiff
RTLinux's kmalloc replaced with TLSF malloc
authoriripoll <iripoll@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Wed, 13 Jun 2007 14:24:56 +0000 (14:24 +0000)
committeriripoll <iripoll@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Wed, 13 Jun 2007 14:24:56 +0000 (14:24 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fosa/trunk@461 35b4ef3e-fd22-0410-ab77-dab3279adceb

src_rtlinux/fosa_app_def_sched.c
src_rtlinux/fosa_threads_and_signals.c

index 61afffde574274ff6cb269a0a0254bf4c5e3cd5b..7cdc85cda9fcb4d01b7e2a80eed5b8b5c71d50e1 100644 (file)
@@ -228,16 +228,16 @@ int fosa_adsactions_add_thread_notification(fosa_ads_actions_t *sched_actions,
      timer_settime(fosa_timeout_timer, int flags, at_time, 0);
 }
 
+int fosa_ads_set_handled_signal_set(frsh_signal_t set[], int size){
+     int x;
 
-
-int fosa_ads_set_handled_signal_set(frsh_signal_t set[]){
-     
+     rtl_sigemptyset(&fosa_scheduler_signal_bitmap);
+     for (x=0; x<size; x++)
+          rtl_sigaddset(&fosa_scheduler_signal_bitmap, set[x]); 
 }
 
 
-int fosa_ads_invoke_withdata (const void *msg, 
-                                    size_t msg_size, 
-                                    void *reply, 
-                                    size_t *reply_size){
+int fosa_ads_invoke_withdata (const void *msg, size_t msg_size, 
+                              void *reply, size_t *reply_size){
        posix_appsched_invoke_withdata(msg, msg_size, reply, reply_size);
 }
index 5ca17ea50048f6f2b33f19be4bf41a65a69859b5..9fd715faa9f6b52a1736c4d21bbf201ced49258a 100644 (file)
@@ -193,6 +193,15 @@ int fosa_signal_queue (frsh_signal_t signal, frsh_signal_info_t info,
      return sigqueue(receiver, 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;
+     generate_event(pthread_self(), fosa_scheduler_thread, 
+                    POSIX_APPSCHED_SIGNAL, &eventinfo, 
+                    sizeof(union posix_appsched_eventinfo));
+}
+
 int fosa_signal_wait (frsh_signal_t set[], int size, frsh_signal_t *signal_received, 
                                     frsh_signal_info_t *info){
   int x;