mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-22 20:05:36 +08:00
Added rtems specific version of _pthread_main_np()
This required adding rtems_id rtems_init_task_id to identify the main task.
This commit is contained in:
parent
dbb054073a
commit
45a81cdc5e
@ -130,6 +130,7 @@ C_FILES += lib/libc/db/mpool/mpool.c
|
|||||||
C_FILES += rtems/syslog.c
|
C_FILES += rtems/syslog.c
|
||||||
C_FILES += rtems/rtems-syslog-initialize.c
|
C_FILES += rtems/rtems-syslog-initialize.c
|
||||||
C_FILES += rtems/rtems-getprogname.c
|
C_FILES += rtems/rtems-getprogname.c
|
||||||
|
C_FILES += rtems/rtems-uthread_main_np.c
|
||||||
|
|
||||||
# ping command sources
|
# ping command sources
|
||||||
C_FILES += commands/sbin/ping/ping.c
|
C_FILES += commands/sbin/ping/ping.c
|
||||||
|
22
freebsd-userspace/rtems/rtems-uthread_main_np.c
Normal file
22
freebsd-userspace/rtems/rtems-uthread_main_np.c
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* RTEMS version of
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <rtems.h>
|
||||||
|
|
||||||
|
__weak_reference(_pthread_main_np, pthread_main_np);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Provide the equivalent to Solaris thr_main() function
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
_pthread_main_np()
|
||||||
|
{
|
||||||
|
/* Created and set in rtems_bsd_initialize */
|
||||||
|
extern rtems_id rtems_init_task_id;
|
||||||
|
|
||||||
|
if ( rtems_init_task_id == rtems_task_self() )
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
@ -69,12 +69,14 @@ pcpu0_init()
|
|||||||
/* Initialize pcpu info of cpu-zero */
|
/* Initialize pcpu info of cpu-zero */
|
||||||
pcpu_init((char *)&FIXME_pcpu[0], 0, sizeof(struct pcpu));
|
pcpu_init((char *)&FIXME_pcpu[0], 0, sizeof(struct pcpu));
|
||||||
}
|
}
|
||||||
|
rtems_id rtems_init_task_id;
|
||||||
|
|
||||||
rtems_status_code
|
rtems_status_code
|
||||||
rtems_bsd_initialize(void)
|
rtems_bsd_initialize(void)
|
||||||
{
|
{
|
||||||
rtems_status_code sc = RTEMS_SUCCESSFUL;
|
rtems_status_code sc = RTEMS_SUCCESSFUL;
|
||||||
|
|
||||||
|
rtems_init_task_id = rtems_task_self();
|
||||||
hz = (int) rtems_clock_get_ticks_per_second();
|
hz = (int) rtems_clock_get_ticks_per_second();
|
||||||
tick = 1000000 / hz;
|
tick = 1000000 / hz;
|
||||||
maxusers = 1;
|
maxusers = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user