It will appear on the open-source git server soon, but I can't give an ETA
for this.

otherwise, this involves modifying the C library. SIGEV_THREAD timers are
not supported by the Linux kernels.
Instead, the C library must implement them. In the case of Bionic, this is
done with one plain pthread per timer,
which essentially calls pthread_cond_wait() in a loop.

On Fri, Dec 5, 2008 at 9:39 AM, pavan savoy <[EMAIL PROTECTED]> wrote:

> Hi,
>
> Where should I be looking, if I want to see support for SIGEV_THREAD.
>
> I am still trying to setup the SIGEV_SIGNAL, it seems it does work, the
> mistake was mine, but even then aren't they system calls, and shouldn't I be
> looking in the kernel for implementation ??
>
>
> regards,
> Pavan
>
> On Thu, Dec 4, 2008 at 1:56 PM, David Turner <[EMAIL PROTECTED]> wrote:
>
>> the functionality might not break if the callback is used to handled
>> exceptional signals, i.e. that doesn't necessarily mean that using a
>> SIGEV_NONE won't introduce a hideous bug.
>> Do you know exactly what the signal callback function does ?
>>
>> can you provide a small code extract that shows how you setup your call
>> for SIGEV_SIGNAL timer creation ?
>>
>> thanks in advance
>>
>>
>> On Thu, Dec 4, 2008 at 7:31 AM, pavan savoy <[EMAIL PROTECTED]>wrote:
>>
>>> Hi,
>>>
>>> Its some-one else's code & its huge, anyways,
>>> the functionality doesn't seem to break if I use SIGEV_NONE.
>>> Should I expect it to break ? Since the code doesn't really depend on
>>> SIGEV_THREAD specifically [I may be wrong..]
>>>
>>> Anyway, I'll get back as to why the SIGEV_SIGNAL isn't working, all I
>>> know is, I get a timer_create error itself.
>>> i.e EINVAL - Invalid argument.
>>>
>>> So I am not sure how to actually test its working :(
>>>
>>> regards,
>>> Pavan
>>>
>>>
>>> On Wed, Dec 3, 2008 at 7:15 PM, David Turner <[EMAIL PROTECTED]> wrote:
>>>
>>>> hmmm, SIGEV_SIGNAL should be working. Do you have a test case that shows
>>>> it doesn't ? (stupid question, is the signal properly unblocked ?)
>>>>
>>>> Apart from that, I really can't give you any ETA, so if it's urgent to
>>>> you, I recommend to use the "create-your-own-waiting-thread" approach
>>>> instead.
>>>>
>>>>
>>>> On Wed, Dec 3, 2008 at 3:55 PM, pavan savoy <[EMAIL PROTECTED]>wrote:
>>>>
>>>>> Well, Only SIGEV_NONE seems to be working .....
>>>>>
>>>>> Can I expect a fix anytime soon ? Or else should I start working on a
>>>>> work-around ??
>>>>>
>>>>> regards,
>>>>> Pavan
>>>>>
>>>>>   On Wed, Dec 3, 2008 at 2:09 PM, pavan savoy <[EMAIL PROTECTED]>wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> About to mail that,
>>>>>>
>>>>>> So I suppose the problem is not with the CLOCK_REALTIME, but with
>>>>>> SIGEV_THREAD, I have a SIGEV_THREAD unfortunately, now trying out with
>>>>>> SIGEV_SIGNAL, just to make sure, that's the problem...
>>>>>>
>>>>>> Here is how I setup...
>>>>>>
>>>>>>     evp.sigev_value.sival_int = *timerHandle; // pass the handle as
>>>>>> argument
>>>>>>     evp.sigev_notify_function = TimerHandlerFunc;
>>>>>>     evp.sigev_notify_attributes = NULL;
>>>>>>     evp.sigev_notify = SIGEV_THREAD;
>>>>>>
>>>>>>     rc = timer_create(CLOCK_REALTIME, &evp,
>>>>>> &timerParams[idx].timerId);
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Dec 3, 2008 at 4:05 PM, David Turner <[EMAIL PROTECTED]>wrote:
>>>>>>
>>>>>>> Can you give more details on how you setup your timer. For the
>>>>>>> record, SIGEV_THREAD timers are not supported on the G1.
>>>>>>> This will be fixed soon in an upcoming update to the system code
>>>>>>> though.
>>>>>>>
>>>>>>> On the other hand, it should be relatively easy to work-around the
>>>>>>> issue by creating a thread that does the wait and function callback 
>>>>>>> (which
>>>>>>> is essentially what the implementation is going to do anyway).
>>>>>>>
>>>>>>> If this is not a SIGEV_THREAD timer, please provide a small test case
>>>>>>> to reproduce the issue, and I'll look into it
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Dec 3, 2008 at 12:04 PM, pavan savoy <[EMAIL PROTECTED]>wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I am trying to port a code which has a timer_create
>>>>>>>>
>>>>>>>> I get an EINVAL error, which suggests that there isn't a defined
>>>>>>>> clock ID, However I do see a definition for CLOCK_REALTIME,
>>>>>>>> What's happening, the second argument, that of sigevent seems ok in
>>>>>>>> my case, and the 3rd argument is returned..
>>>>>>>>
>>>>>>>> So is this a problem with the 1st argument, If so, why is it
>>>>>>>> occuring ? even thou' CLOCK_REALTIME is defined ??
>>>>>>>>
>>>>>>>> regards,
>>>>>>>> Pavan
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>> >>
>>

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [EMAIL PROTECTED]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to