* [Xenomai] Qt - Xenomai compatibility problem [not found] <mailman.293.1366744201.1444.xenomai@xenomai.org> @ 2013-04-30 20:50 ` George Pontis 2013-05-02 8:37 ` Leopold Palomo-Avellaneda 2013-05-03 18:10 ` Gilles Chanteperdrix 0 siblings, 2 replies; 8+ messages in thread From: George Pontis @ 2013-04-30 20:50 UTC (permalink / raw) To: xenomai I took a snapshot from git of the current Xenomai code and put it in the hands of the software developers. They reported that Qt would not build after patching with Xenomai. The problem was that Qt uses "signals" as a keyword, and that conflicts with the function prototype for rt_task_notify under xenomai/native: int rt_task_notify(RT_TASK *task, rt_sigset_t signals); Although this is not a Xenomai problem, it might save some users the annoyance if the name "signals" could change. George ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-04-30 20:50 ` [Xenomai] Qt - Xenomai compatibility problem George Pontis @ 2013-05-02 8:37 ` Leopold Palomo-Avellaneda 2013-05-03 16:29 ` George Pontis 2013-05-03 18:10 ` Gilles Chanteperdrix 1 sibling, 1 reply; 8+ messages in thread From: Leopold Palomo-Avellaneda @ 2013-05-02 8:37 UTC (permalink / raw) To: xenomai; +Cc: George Pontis A Dimarts, 30 d'abril de 2013, George Pontis va escriure: > I took a snapshot from git of the current Xenomai code and put it in the hands of the software > developers. They reported that Qt would not build after patching with Xenomai. The problem was that > Qt uses "signals" as a keyword, and that conflicts with the function prototype for rt_task_notify > under xenomai/native: > > > int rt_task_notify(RT_TASK *task, rt_sigset_t signals); > > > Although this is not a Xenomai problem, it might save some users the annoyance if the name "signals" > could change. I'm not a C++ expert, but to solve this you must encapsulate all the Xenomai calls of your software in a namespace. After that, I think that you could use the signal word without problem of collision with another signal word. Regards, Leopold -- -- Linux User 152692 Catalonia ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-05-02 8:37 ` Leopold Palomo-Avellaneda @ 2013-05-03 16:29 ` George Pontis 2013-05-09 12:50 ` Leopold Palomo-Avellaneda 0 siblings, 1 reply; 8+ messages in thread From: George Pontis @ 2013-05-03 16:29 UTC (permalink / raw) To: 'Leopold Palomo-Avellaneda', xenomai > -----Original Message----- > From: Leopold Palomo-Avellaneda [mailto:leo@alaxarxa.net] > Sent: Thursday, May 02, 2013 1:37 AM > To: xenomai@xenomai.org > Cc: George Pontis > Subject: Re: [Xenomai] Qt - Xenomai compatibility problem > > A Dimarts, 30 d'abril de 2013, George Pontis va escriure: > > I took a snapshot from git of the current Xenomai code and put it in the > hands of the software > > developers. They reported that Qt would not build after patching with > Xenomai. The problem was that > > Qt uses "signals" as a keyword, and that conflicts with the function > prototype for rt_task_notify > > under xenomai/native: > > > > > > int rt_task_notify(RT_TASK *task, rt_sigset_t signals); > > > > > > Although this is not a Xenomai problem, it might save some users the > annoyance if the name "signals" > > could change. > > I'm not a C++ expert, but to solve this you must encapsulate all the Xenomai > calls of your software in a namespace. After that, I think that you could use > the signal word without problem of collision with another signal word. > > Regards, > > Leopold That that won't work because Qt defines the keyword "signals" using #define, which is handled by the preprocessor. The preprocessor ignores namespaces so namespaces wouldn't help in this case. Geo. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-05-03 16:29 ` George Pontis @ 2013-05-09 12:50 ` Leopold Palomo-Avellaneda 0 siblings, 0 replies; 8+ messages in thread From: Leopold Palomo-Avellaneda @ 2013-05-09 12:50 UTC (permalink / raw) To: George Pontis; +Cc: xenomai A Divendres, 3 de maig de 2013, George Pontis va escriure: > > -----Original Message----- > > From: Leopold Palomo-Avellaneda [mailto:leo@alaxarxa.net] > > Sent: Thursday, May 02, 2013 1:37 AM > > To: xenomai@xenomai.org > > Cc: George Pontis > > Subject: Re: [Xenomai] Qt - Xenomai compatibility problem > > > > A Dimarts, 30 d'abril de 2013, George Pontis va escriure: > > > I took a snapshot from git of the current Xenomai code and put it in the > > hands of the software > > > developers. They reported that Qt would not build after patching with > > Xenomai. The problem was that > > > Qt uses "signals" as a keyword, and that conflicts with the function > > prototype for rt_task_notify > > > under xenomai/native: > > > > > > > > > int rt_task_notify(RT_TASK *task, rt_sigset_t signals); > > > > > > > > > Although this is not a Xenomai problem, it might save some users the > > annoyance if the name "signals" > > > could change. > > > > I'm not a C++ expert, but to solve this you must encapsulate all the Xenomai > > calls of your software in a namespace. After that, I think that you could use > > the signal word without problem of collision with another signal word. > > > > Regards, > > > > Leopold > > That that won't work because Qt defines the keyword "signals" using #define, > which is handled by the preprocessor. The preprocessor ignores namespaces > so namespaces wouldn't help in this case. > oops, thanks for the info. I didn't know that. I could only say that it could not be a good idea to make a Qt program with realtime, IMHO. Quoting Jan Kiszka from another mail in the list, talking about a program written in Java: >Writing some non-RT configuration and monitoring front-end in Java is >fine, but the actual control task is better done in C (or C++ if you >like). The RT process containing the control task could then have a >another thread, low priority, that does the non-RT communication with >the front-end via TCP and transfers any parameter updates to the RT task >(lock-free or synchronized with a compatible locking mechanism). That's >the standard design pattern for real-time control applications. in my opinion this could be applied to a Qt program. Otherwise, good info about the namespaces and preprocessors. Regards, Leopold -- -- Linux User 152692 Catalonia ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-04-30 20:50 ` [Xenomai] Qt - Xenomai compatibility problem George Pontis 2013-05-02 8:37 ` Leopold Palomo-Avellaneda @ 2013-05-03 18:10 ` Gilles Chanteperdrix 2013-05-03 18:14 ` George Pontis 1 sibling, 1 reply; 8+ messages in thread From: Gilles Chanteperdrix @ 2013-05-03 18:10 UTC (permalink / raw) To: George Pontis; +Cc: xenomai On 04/30/2013 10:50 PM, George Pontis wrote: > I took a snapshot from git of the current Xenomai code and put it in the hands of the software > developers. They reported that Qt would not build after patching with Xenomai. The problem was that > Qt uses "signals" as a keyword, and that conflicts with the function prototype for rt_task_notify > under xenomai/native: > > > int rt_task_notify(RT_TASK *task, rt_sigset_t signals); > > > Although this is not a Xenomai problem, it might save some users the annoyance if the name "signals" > could change. Have you tried the obvious fix? -- Gilles. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-05-03 18:10 ` Gilles Chanteperdrix @ 2013-05-03 18:14 ` George Pontis 2013-05-03 18:20 ` Gilles Chanteperdrix 0 siblings, 1 reply; 8+ messages in thread From: George Pontis @ 2013-05-03 18:14 UTC (permalink / raw) To: 'Gilles Chanteperdrix'; +Cc: xenomai > -----Original Message----- > From: Gilles Chanteperdrix [mailto:gilles.chanteperdrix@xenomai.org] > Sent: Friday, May 03, 2013 11:11 AM > To: George Pontis > Cc: xenomai@xenomai.org > Subject: Re: [Xenomai] Qt - Xenomai compatibility problem > > On 04/30/2013 10:50 PM, George Pontis wrote: > > > I took a snapshot from git of the current Xenomai code and put it in the hands of the > software > > developers. They reported that Qt would not build after patching with Xenomai. The problem > was that > > Qt uses "signals" as a keyword, and that conflicts with the function prototype for > rt_task_notify > > under xenomai/native: > > > > > > int rt_task_notify(RT_TASK *task, rt_sigset_t signals); > > > > > > Although this is not a Xenomai problem, it might save some users the annoyance if the name > "signals" > > could change. > > > Have you tried the obvious fix? > > -- > Gilles. Yes, to us the obvious fix was to edit the function prototype in the include file and change "signals" to "_signals". George ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-05-03 18:14 ` George Pontis @ 2013-05-03 18:20 ` Gilles Chanteperdrix 2013-05-03 18:30 ` George Pontis 0 siblings, 1 reply; 8+ messages in thread From: Gilles Chanteperdrix @ 2013-05-03 18:20 UTC (permalink / raw) To: George Pontis; +Cc: xenomai On 05/03/2013 08:14 PM, George Pontis wrote: >> -----Original Message----- >> From: Gilles Chanteperdrix [mailto:gilles.chanteperdrix@xenomai.org] >> Sent: Friday, May 03, 2013 11:11 AM >> To: George Pontis >> Cc: xenomai@xenomai.org >> Subject: Re: [Xenomai] Qt - Xenomai compatibility problem >> >> On 04/30/2013 10:50 PM, George Pontis wrote: >> >>> I took a snapshot from git of the current Xenomai code and put it in the hands of the >> software >>> developers. They reported that Qt would not build after patching with Xenomai. The problem >> was that >>> Qt uses "signals" as a keyword, and that conflicts with the function prototype for >> rt_task_notify >>> under xenomai/native: >>> >>> >>> int rt_task_notify(RT_TASK *task, rt_sigset_t signals); >>> >>> >>> Although this is not a Xenomai problem, it might save some users the annoyance if the name >> "signals" >>> could change. >> >> >> Have you tried the obvious fix? >> >> -- >> Gilles. > > > Yes, to us the obvious fix was to edit the function prototype in the include file > and change "signals" to "_signals". And there are no other changes to make to get Xenomai headers included with qt headers? -- Gilles. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai] Qt - Xenomai compatibility problem 2013-05-03 18:20 ` Gilles Chanteperdrix @ 2013-05-03 18:30 ` George Pontis 0 siblings, 0 replies; 8+ messages in thread From: George Pontis @ 2013-05-03 18:30 UTC (permalink / raw) To: 'Gilles Chanteperdrix'; +Cc: xenomai > -----Original Message----- > From: Gilles Chanteperdrix [mailto:gilles.chanteperdrix@xenomai.org] > Sent: Friday, May 03, 2013 11:20 AM > To: George Pontis > Cc: xenomai@xenomai.org > Subject: Re: [Xenomai] Qt - Xenomai compatibility problem > > On 05/03/2013 08:14 PM, George Pontis wrote: > > >> -----Original Message----- > >> From: Gilles Chanteperdrix [mailto:gilles.chanteperdrix@xenomai.org] > >> Sent: Friday, May 03, 2013 11:11 AM > >> To: George Pontis > >> Cc: xenomai@xenomai.org > >> Subject: Re: [Xenomai] Qt - Xenomai compatibility problem > >> > >> On 04/30/2013 10:50 PM, George Pontis wrote: > >> > >>> I took a snapshot from git of the current Xenomai code and put it in the hands of the > >> software > >>> developers. They reported that Qt would not build after patching with Xenomai. The problem > >> was that > >>> Qt uses "signals" as a keyword, and that conflicts with the function prototype for > >> rt_task_notify > >>> under xenomai/native: > >>> > >>> > >>> int rt_task_notify(RT_TASK *task, rt_sigset_t signals); > >>> > >>> > >>> Although this is not a Xenomai problem, it might save some users the annoyance if the name > >> "signals" > >>> could change. > >> > >> > >> Have you tried the obvious fix? > >> > >> -- > >> Gilles. > > > > > > Yes, to us the obvious fix was to edit the function prototype in the include file > > and change "signals" to "_signals". > > > And there are no other changes to make to get Xenomai headers included > with qt headers? > > -- > Gilles. That was the only change that we needed for our environment. We only use the Posix and native skins. I grep'ed the include files and found psos+/psos.h and nucleus/thread.h also use "signals". Geo. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-05-09 12:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <mailman.293.1366744201.1444.xenomai@xenomai.org>
2013-04-30 20:50 ` [Xenomai] Qt - Xenomai compatibility problem George Pontis
2013-05-02 8:37 ` Leopold Palomo-Avellaneda
2013-05-03 16:29 ` George Pontis
2013-05-09 12:50 ` Leopold Palomo-Avellaneda
2013-05-03 18:10 ` Gilles Chanteperdrix
2013-05-03 18:14 ` George Pontis
2013-05-03 18:20 ` Gilles Chanteperdrix
2013-05-03 18:30 ` George Pontis
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.