- 论坛徽章:
- 0
|
本帖最后由 rlingxing 于 2010-11-12 15:35 编辑
先看代码:
......
pthread_t power_id;
pthread_attr_t power_attr;
pthread_attr_init( &power_attr );
pthread_attr_setdetachstate( &power_attr, PTHREAD_CREATE_DETACHED );
printf ( "cmd_buf --> [ %s ] \n" , cmd_buf ); // (1)
int ret = pthread_create( &power_id, &power_attr, (void *) power_thread, (void *)cmd_buf );
if ( 0 != ret )
{
lprintf( Log, error, "power thread create \n" );
pthread_attr_destroy( &power_attr );
return err_power;
}
.......
void * power_thead ( void *arg )
{
printf( " enter arg --> [ %s ] \n", (char *) arg ); // (2)
....
....
}
(1), 有值: TEST@xxxxxxxxxx$poweron$08:00:00$poweroff$23:00:00@
(2), 这里打出来是空的。
也就是说没有传过来,这时为什么? void * power_thead ( void *arg ) // 这是一个线程安全的。 我不想破坏,在里面用全局数据。
请求高人指点。 |
|