Привет всем
В LTP -
POSIX испытания, есть в случае open_posix_testsuite \ соответствия \ Interfaces \ timer_gettime \ speculative/6-1.c
Цитата:
# включить <time.h>
# включить <stdio.h>
# включить <errno. H>
/ / # включить "posixtest.h"
# определить BOGUSTID 9999
INT основных (INT argc, символ * argv [])
(
timer_t TID;
itimerspec его структуры;
TID \u003d (timer_t) BOGUSTID;
если (timer_gettime (TID, И ее) \u003d\u003d -1) (
если (EINVAL \u003d\u003d errno) (
printf ( "-1 СКЛС вернулся и errno\u003d\u003d EINVAL \ N ");
/ / возврат PTS_PASS;
() Другое
printf ( "-1 СКЛС вернулся, но errno! \u003d EINVAL \ N ");
printf ( "Test НЕ \ N");
/ / возврат PTS_FAIL;
)
)
printf ( "СКЛС не вернуть -1 \ N");
/ / возврат PTS_PASS;
)
|
Я запустить выше код, то есть сегмент вина, если изменить его до уровня ниже, он хорошо работает
Цитата:
# включить <time.h>
# включить <stdio.h>
# включить <errno. H>
/ / # включить "posixtest.h"
# определить BOGUSTID 9999
INT основных (INT argc, символ * argv [])
(
timer_t TID;
itimerspec его структуры;
INT tval \u003d BOGUSTID;
printf ( "% D \ N", tval);
TID \u003d (timer_t) &tval;
printf ( "% D \ N", TID);
если (timer_gettime (TID, И ее) \u003d\u003d -1) (
если (EINVAL \u003d\u003d errno) (
printf ( "-1 СКЛС вернулся и errno\u003d\u003d EINVAL \ N ");
/ / возврат PTS_PASS;
() Другое
printf ( "-1 СКЛС вернулся, но errno! \u003d EINVAL \ N ");
printf ( "Test НЕ \ N");
/ / возврат PTS_FAIL;
)
)
printf ( "СКЛС не вернуть -1 \ N");
/ / Возврат PTS_PASS;
)
|
Кто-нибудь может сказать мне, почему?