As suggested by ori@eigenstate.org, I have used gettimeofday(2) to achieve what I needed. But I had to change suseconds_t (in POSIX) to long (in Plan9 ape/include/sys/time.h). But are all the compilers in Plan9 making long an octabytes, whatever the arch and the machine? Because a long, if it is a tetra, will never hold the value... Furthermore, for portability, there should be a typedef associating suseconds_t to long (or vlong, if long is not guaranteed to be an octa). I'm puzzled by this... Meanwhile, with this, kerTeX compiles on Plan9 for the dev version... -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ http://kertex.kergis.com/ http://www.sbfa.fr/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T232b7176352c012b-Mb2d8a8973e450a39ea8bca6a Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
Le Thu, Oct 14, 2021 at 07:56:37PM +0200, tlaronde a écrit : > As suggested by ori@eigenstate.org, I have used gettimeofday(2) to > achieve what I needed. > > But I had to change suseconds_t (in POSIX) to long (in Plan9 > ape/include/sys/time.h). > > But are all the compilers in Plan9 making long an octabytes, whatever > the arch and the machine? Because a long, if it is a tetra, will never > hold the value... I misread: the microseconds are for the fractional part. I was still focusing on nsec() and taking the one for the other. But the following still holds: > > Furthermore, for portability, there should be a typedef associating > suseconds_t to long (or vlong, if long is not guaranteed to be an > octa). > -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ http://kertex.kergis.com/ http://www.sbfa.fr/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T232b7176352c012b-M25528c1fccfb87e2a5f36584 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
[-- Attachment #1: Type: text/plain, Size: 1363 bytes --] surely you can shift a 64 bit long? On Thu, Oct 14, 2021 at 6:04 PM <tlaronde@polynum.com> wrote: > Le Thu, Oct 14, 2021 at 07:56:37PM +0200, tlaronde a écrit : > > As suggested by ori@eigenstate.org, I have used gettimeofday(2) to > > achieve what I needed. > > > > But I had to change suseconds_t (in POSIX) to long (in Plan9 > > ape/include/sys/time.h). > > > > But are all the compilers in Plan9 making long an octabytes, whatever > > the arch and the machine? Because a long, if it is a tetra, will never > > hold the value... > > I misread: the microseconds are for the fractional part. I was still > focusing on nsec() and taking the one for the other. > > But the following still holds: > > > > > Furthermore, for portability, there should be a typedef associating > > suseconds_t to long (or vlong, if long is not guaranteed to be an > > octa). > > > -- > Thierry Laronde <tlaronde +AT+ polynum +dot+ com> > http://www.kergis.com/ > http://kertex.kergis.com/ > http://www.sbfa.fr/ > Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T232b7176352c012b-Mf1f6b24803e829b411b0691d Delivery options: https://9fans.topicbox.com/groups/9fans/subscription [-- Attachment #2: Type: text/html, Size: 3218 bytes --]
Le Thu, Oct 14, 2021 at 06:11:54PM +0000, Conor Williams a écrit : > surely you can shift a 64 bit long? > In fact, I have read cursorily the man page and misread "the time is expressed in seconds and microseconds since EPOCH" to mean "expressed in seconds AND expressed in microseconds" while there is a structure because there is the integer (seconds) part and the fractional (microseconds) part. Hum... So, yes, the result (in microseconds) can be hold in a long long. And for long instead of suseconds_t, I'm probably the only one who will ever directly use suseconds_t in the code for a variable thinking it is like the result of nsec(2) and it is probably a type that will never appear in real user code. So let this RIP. > On Thu, Oct 14, 2021 at 6:04 PM <tlaronde@polynum.com> wrote: > > > Le Thu, Oct 14, 2021 at 07:56:37PM +0200, tlaronde a écrit : > > > As suggested by ori@eigenstate.org, I have used gettimeofday(2) to > > > achieve what I needed. > > > > > > But I had to change suseconds_t (in POSIX) to long (in Plan9 > > > ape/include/sys/time.h). > > > > > > But are all the compilers in Plan9 making long an octabytes, whatever > > > the arch and the machine? Because a long, if it is a tetra, will never > > > hold the value... > > > > I misread: the microseconds are for the fractional part. I was still > > focusing on nsec() and taking the one for the other. > > > > But the following still holds: > > > > > > > > Furthermore, for portability, there should be a typedef associating > > > suseconds_t to long (or vlong, if long is not guaranteed to be an > > > octa). > > > > > -- > > Thierry Laronde <tlaronde +AT+ polynum +dot+ com> > > http://www.kergis.com/ > > http://kertex.kergis.com/ > > http://www.sbfa.fr/ > > Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ http://kertex.kergis.com/ http://www.sbfa.fr/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T232b7176352c012b-M86b19184ee7cf17b00f55809 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
[-- Attachment #1: Type: text/plain, Size: 2645 bytes --] yeah, that's exactly it... well done man... good stuff ta failte roimhat... /c:20211410:1900 On Thu, Oct 14, 2021 at 6:31 PM <tlaronde@polynum.com> wrote: > Le Thu, Oct 14, 2021 at 06:11:54PM +0000, Conor Williams a écrit : > > surely you can shift a 64 bit long? > > > > In fact, I have read cursorily the man page and misread "the time is > expressed in seconds and microseconds since EPOCH" to mean "expressed > in seconds AND expressed in microseconds" while there is a structure > because there is the integer (seconds) part and the fractional > (microseconds) part. Hum... > > So, yes, the result (in microseconds) can be hold in a long long. > > And for long instead of suseconds_t, I'm probably the only one who will > ever directly use suseconds_t in the code for a variable thinking it is > like the result of nsec(2) and it is probably a type that will never > appear in real user code. > > So let this RIP. > > > On Thu, Oct 14, 2021 at 6:04 PM <tlaronde@polynum.com> wrote: > > > > > Le Thu, Oct 14, 2021 at 07:56:37PM +0200, tlaronde a écrit : > > > > As suggested by ori@eigenstate.org, I have used gettimeofday(2) to > > > > achieve what I needed. > > > > > > > > But I had to change suseconds_t (in POSIX) to long (in Plan9 > > > > ape/include/sys/time.h). > > > > > > > > But are all the compilers in Plan9 making long an octabytes, whatever > > > > the arch and the machine? Because a long, if it is a tetra, will > never > > > > hold the value... > > > > > > I misread: the microseconds are for the fractional part. I was still > > > focusing on nsec() and taking the one for the other. > > > > > > But the following still holds: > > > > > > > > > > > Furthermore, for portability, there should be a typedef associating > > > > suseconds_t to long (or vlong, if long is not guaranteed to be an > > > > octa). > > > > > > > -- > > > Thierry Laronde <tlaronde +AT+ polynum +dot+ com> > > > http://www.kergis.com/ > > > http://kertex.kergis.com/ > > > http://www.sbfa.fr/ > > > Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C > > -- > Thierry Laronde <tlaronde +AT+ polynum +dot+ com> > http://www.kergis.com/ > http://kertex.kergis.com/ > http://www.sbfa.fr/ > Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T232b7176352c012b-Mf72f1806b8d3aa8b52f6e895 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription [-- Attachment #2: Type: text/html, Size: 5241 bytes --]