Philippe Gerum wrote:
> Jan Kiszka wrote:
>
> <snip>
>
> Don't you mean this instead?
>
>> -int ipipe_catch_event(struct ipipe_domain *ipd,
>> - unsigned event,
>> - int (*handler)(unsigned event, struct ipipe_domain
>> *ipd, void *data))
>> +ipipe_event_handler_t ipipe_catch_event(struct ipipe_domain *ipd,
>> + unsigned event,
>> + ipipe_event_handler_t handler)
>> {
> + ipipe_event_handler_t old_handler;
>> int self = 0;
>>
>> @@ -278,7 +278,7 @@
>> }
>>
>> if (event >= IPIPE_NR_EVENTS)
>> - return -EINVAL;
>> + return NULL;
>>
> - if (!xchg(&ipd->evhand[event],handler)) {
> + if (!(old_handler = xchg(&ipd->evhand[event],handler))) {
>> if (handler) {
>> @@ -301,7 +301,7 @@
>> ipd->evself |= (1LL << event);
>> }
>>
>> - return 0;
>> + return handler;
> - return handler;
> + return old_handler;
>> }
>>
>> cpumask_t ipipe_set_irq_affinity (unsigned irq, cpumask_t cpumask)
>>
>>Ouch, obviously. A quick hack which was only tested for not breaking existing software. Jan
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
