qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Rolke <cro...@redhat.com>
Subject Re: [Qpid-dispatch] timespec not defined on Windows
Date Mon, 25 Apr 2016 15:46:52 GMT
The Qpid broker sys/windows folder has a lot of model code that could be used for a compatibility
layer in dispatch.

https://github.com/apache/qpid/tree/trunk/qpid/cpp/src/qpid/sys/windows



----- Original Message -----
> From: "Ted Ross" <tross@redhat.com>
> To: users@qpid.apache.org
> Sent: Monday, April 25, 2016 9:45:46 AM
> Subject: Re: [Qpid-dispatch] timespec not defined on Windows
> 
> I don't object to using boost in Windows to provide posix abstractions
> there.  I would like to avoid introducing that dependency in Linux
> though if possible.
> 
> -Ted
> 
> 
> On 04/25/2016 09:11 AM, Adel Boutros wrote:
> > Unless you really insist on having a full C compatible code with the
> > minimal dependencies. In that case, I will have to write/adapt the
> > equivalent code/logic for pthread_mutex_t, pthread_cond_t,
> > pthread_rwlock_t and pthread_t on Windows.
> >
> >> From: adelboutros@live.com
> >> To: users@qpid.apache.org
> >> Subject: RE: [Qpid-dispatch] timespec not defined on Windows
> >> Date: Mon, 25 Apr 2016 14:35:19 +0200
> >>
> >> Hello Ted,
> >> I agree an abstraction level is required but for the time being I am
> >> following the TDD approach. So once I have something working, I will
> >> refactor it before submitting any patches. I will go with something and
> >> only granular to milliseconds as you propose.
> >> I am also facing another issue which might require adding a boost
> >> dependency and it's related to the pthread library which is not available
> >> on Windows. After checking Qpid C++ broker code, it was solved on Windows
> >> by using boost thread library.
> >> You can check for example
> >> https://github.com/apache/qpid/blob/trunk/qpid/cpp/src/qpid/sys/windows/Mutex.h
> >> So, how about adding a dependency to boost only for windows platform via
> >> Cmake? This way, I can be inspired by Qpid C++ Broker code for threading
> >> and no extra dependency is added for Linux/Unix.Or do you propose
> >> something better?
> >> PS: At some point, it might even be intelligent to extract the common code
> >> from Qpid C++ broker, Proton and Dispatcher to create a common "utils"
> >> library for threading, logging, daemon/service creation ...
> >> Regards,Adel
> >>
> >>> Subject: Re: [Qpid-dispatch] timespec not defined on Windows
> >>> To: users@qpid.apache.org
> >>> From: tross@redhat.com
> >>> Date: Fri, 22 Apr 2016 12:35:50 -0400
> >>>
> >>> Adel,
> >>>
> >>> First of all, we should create an abstraction for timespec that is
> >>> usable on all platforms and then provide OS-specific implementations.
> >>> Dispatch doesn't currently need time at granularity above milliseconds.
> >>>
> >>> To answer your question, I don't want to solve this in a way that
> >>> requires new dependencies in Linux like Boost.
> >>>
> >>> -Ted
> >>>
> >>> On 04/22/2016 12:24 PM, Adel Boutros wrote:
> >>>> Hello,
> >>>>
> >>>> While compiling Qpid-dispatch on Windows using Visual Studio 2013
> >>>> 64-bit, I
> >>>> encountered a code related to time which doesn't work under windows.
> >>>>
> >>>> In *src\server.c* thread_run method, there is a block of code using
> >>>> timespec
> >>>> which is not defined in Windows
> >>>>
> >>>> /struct timespec tv;
> >>>> clock_gettime(CLOCK_REALTIME, &tv);
> >>>> qd_timestamp_t milliseconds = ((qd_timestamp_t)tv.tv_sec) * 1000 +
> >>>> tv.tv_nsec / 1000000;
> >>>> qd_timer_visit_LH(milliseconds);/
> >>>>
> >>>> I have found two ways to solve it:
> >>>> 1) One inspired from Qpid C++ broker
> >>>> (qpid\cpp\src\qpid\sys\windows\Time.cpp: FromEpoch and outputHiresNow)
> >>>> but
> >>>> this will add a dependency to Boost for qpid-dispatch.
> >>>> 2) The other found on Stackoverflow  timespec-equivalent-for-windows
> >>>> <http://stackoverflow.com/questions/8583308/timespec-equivalent-for-windows>
> >>>>
> >>>> Which one would you find more appropriate?
> >>>>
> >>>> Regards,
> >>>> Adel Boutros
> >>>> www.murex.com
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> View this message in context:
> >>>> http://qpid.2158936.n2.nabble.com/Qpid-dispatch-timespec-not-defined-on-Windows-tp7642532.html
> >>>> Sent from the Apache Qpid users mailing list archive at Nabble.com.
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> >>>> For additional commands, e-mail: users-help@qpid.apache.org
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> >>> For additional commands, e-mail: users-help@qpid.apache.org
> >>>
> >>   		 	   		
> >   		 	   		
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message