@@ -453,14 +453,15 @@ static pthread_t main_thread{};
453453
454454static int master (int fd, vector<string> args) {
455455 main_thread = pthread_self ();
456- if (pthread_create (&queue_thread, nullptr , &queue_function, nullptr ) < 0 ) {
456+ int result;
457+ if ((result = pthread_create (&queue_thread, nullptr , &queue_function, nullptr )) != 0 ) {
458+ errno = result;
457459 perror (" pthread_create (queue function)" );
458460 return -1 ;
459461 }
460462 do_load_cmd (" hal_lib" , vector<string>());
461463 instance_count = 0 ;
462464 App (); // force rtapi_app to be created
463- int result=0 ;
464465 if (args.size ()) {
465466 result = handle_command (args);
466467 if (result != 0 ) goto out;
@@ -1028,16 +1029,17 @@ int Posix::task_start(int task_id, unsigned long int period_nsec)
10281029 int nprocs = sysconf ( _SC_NPROCESSORS_ONLN );
10291030
10301031 pthread_attr_t attr;
1031- if (pthread_attr_init (&attr) < 0 )
1032- return -errno;
1033- if (pthread_attr_setstacksize (&attr, task->stacksize ) < 0 )
1034- return -errno;
1035- if (pthread_attr_setschedpolicy (&attr, policy) < 0 )
1036- return -errno;
1037- if (pthread_attr_setschedparam (&attr, ¶m) < 0 )
1038- return -errno;
1039- if (pthread_attr_setinheritsched (&attr, PTHREAD_EXPLICIT_SCHED) < 0 )
1040- return -errno;
1032+ int ret;
1033+ if ((ret = pthread_attr_init (&attr)) != 0 )
1034+ return -ret;
1035+ if ((ret = pthread_attr_setstacksize (&attr, task->stacksize )) != 0 )
1036+ return -ret;
1037+ if ((ret = pthread_attr_setschedpolicy (&attr, policy)) != 0 )
1038+ return -ret;
1039+ if ((ret = pthread_attr_setschedparam (&attr, ¶m)) != 0 )
1040+ return -ret;
1041+ if ((ret = pthread_attr_setinheritsched (&attr, PTHREAD_EXPLICIT_SCHED)) != 0 )
1042+ return -ret;
10411043 if (nprocs > 1 ) {
10421044 const static int rt_cpu_number = find_rt_cpu_number ();
10431045 if (rt_cpu_number != -1 ) {
@@ -1048,12 +1050,12 @@ int Posix::task_start(int task_id, unsigned long int period_nsec)
10481050#endif
10491051 CPU_ZERO (&cpuset);
10501052 CPU_SET (rt_cpu_number, &cpuset);
1051- if (pthread_attr_setaffinity_np (&attr, sizeof (cpuset), &cpuset) < 0 )
1052- return -errno ;
1053+ if ((ret = pthread_attr_setaffinity_np (&attr, sizeof (cpuset), &cpuset)) != 0 )
1054+ return -ret ;
10531055 }
10541056 }
1055- if (pthread_create (&task->thr , &attr, &wrapper, reinterpret_cast <void *>(task)) < 0 )
1056- return -errno ;
1057+ if ((ret = pthread_create (&task->thr , &attr, &wrapper, reinterpret_cast <void *>(task))) != 0 )
1058+ return -ret ;
10571059
10581060 return 0 ;
10591061}
@@ -1215,7 +1217,12 @@ int rtapi_task_delete(int id) {
12151217
12161218int rtapi_task_start (int task_id, unsigned long period_nsec)
12171219{
1218- return App ().task_start (task_id, period_nsec);
1220+ int ret = App ().task_start (task_id, period_nsec);
1221+ if (ret != 0 ) {
1222+ errno = -ret;
1223+ perror (" rtapi_task_start()" );
1224+ }
1225+ return ret;
12191226}
12201227
12211228int rtapi_task_pause (int task_id)
0 commit comments