{"thread":{"id":"54825","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","startedAt":"2020-12-14T23:12:58Z","lastAt":"2020-12-16T17:28:27Z","messageCount":12,"participants":["Randall S. Becker","Junio C Hamano","Jeff King","Elijah Newren"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"412215","messageId":"035d01d6d26e$8c255260$a46ff720$@nexbridge.com","threadId":"54825","inReplyTo":null,"subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2020-12-14T23:12:03Z","receivedAt":"2020-12-14T23:12:58Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"2.30.0-rc0 fails to compile strmap.o, and probably others, since this is in\na header file:\n\n\"git-compat-util.h\", line 277: warning(1252):\n          missing return statement at end of non-void function \"setitimer\"\n\n  \treturn strmap_remove(&map->map, str, 0);\n  \t       ^\n\"strmap.h\", line 168: error(210):\n          a void function may not return a value\n\n  \treturn strmap_remove(&set->map, str, 0);\n  \t       ^\n\"strmap.h\", line 252: error(210):\n          a void function may not return a value\n\nAside from inlining bodies, this should not have compiled on any platform:\n\nstatic inline void strset_remove(struct strset *set, const char *str)\n{\n        return strmap_remove(&set->map, str, 0);\n}\n\nWhat is really intended here?\n\nSorry,\nRandall\n\n-- Brief whoami:\n NonStop developer since approximately 211288444200000000\n UNIX developer since approximately 421664400\n-- In my real life, I talk too much.\n\n\n\n\n\n"},{"id":"412233","messageId":"xmqqeejraiw7.fsf@gitster.c.googlers.com","threadId":"54825","inReplyTo":"035d01d6d26e$8c255260$a46ff720$@nexbridge.com","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-12-15T02:43:36Z","receivedAt":"2020-12-15T02:44:50Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Randall S. Becker\" <rsbecker@nexbridge.com> writes:\n\n> 2.30.0-rc0 fails to compile strmap.o, and probably others, since this is in\n> a header file:\n>\n> \"git-compat-util.h\", line 277: warning(1252):\n>           missing return statement at end of non-void function \"setitimer\"\n\nThanks for reporting.  I guess nobody without setitimer bothered to\ntest, since 15b52a44 (compat-util: type-check parameters of no-op\nreplacement functions, 2020-08-06) which was a tad before 2.29 was\ntagged.\n\ndiff --git c/git-compat-util.h w/git-compat-util.h\nindex 7d509c5022..58cd0761be 100644\n--- c/git-compat-util.h\n+++ w/git-compat-util.h\n@@ -273,7 +273,8 @@ struct itimerval {\n \n #ifdef NO_SETITIMER\n static inline int setitimer(int which, const struct itimerval *value, struct itimerval *newvalue) {\n-\t; /* nothing */\n+\terrno = ENOSYS;\n+\treturn -1; /* not implemented */\n }\n #endif\n \nAlternatively we could pretend that the call always succeeds by\nwithout touching errno and returning 0.  That might be safer, but I\ndunno which one we want, and I do not have a system affected by the\nchoice.\n\n>   \treturn strmap_remove(&map->map, str, 0);\n>   \t       ^\n> \"strmap.h\", line 168: error(210):\n>           a void function may not return a value\n>\n>   \treturn strmap_remove(&set->map, str, 0);\n>   \t       ^\n> \"strmap.h\", line 252: error(210):\n>           a void function may not return a value\n\nThis is a GNU extension biting us, perhaps?\n\nApparently these came from 4fa1d501 (strmap: add functions\nfacilitating use as a string->int map, 2020-11-05).\n\n> Aside from inlining bodies, this should not have compiled on any platform:\n>\n> static inline void strset_remove(struct strset *set, const char *str)\n> {\n>         return strmap_remove(&set->map, str, 0);\n> }\n>\n> What is really intended here?\n\nI think we should just drop \"return\"; a void function should be\ncalled in void context without requiring a value, even if that\nreturn expects no value.\n\ndiff --git i/strmap.h w/strmap.h\nindex c4c104411b..1e152d832d 100644\n--- i/strmap.h\n+++ w/strmap.h\n@@ -165,7 +165,7 @@ static inline int strintmap_contains(struct strintmap *map, const char *str)\n \n static inline void strintmap_remove(struct strintmap *map, const char *str)\n {\n-\treturn strmap_remove(&map->map, str, 0);\n+\tstrmap_remove(&map->map, str, 0);\n }\n \n static inline int strintmap_empty(struct strintmap *map)\n@@ -249,7 +249,7 @@ static inline int strset_contains(struct strset *set, const char *str)\n \n static inline void strset_remove(struct strset *set, const char *str)\n {\n-\treturn strmap_remove(&set->map, str, 0);\n+\tstrmap_remove(&set->map, str, 0);\n }\n \n static inline int strset_empty(struct strset *set)\n\n\n> Sorry,\n> Randall\n\nThanks.\n"},{"id":"412234","messageId":"X9glBJnlLMTW6Dns@coredump.intra.peff.net","threadId":"54825","inReplyTo":"xmqqeejraiw7.fsf@gitster.c.googlers.com","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-12-15T02:52:52Z","receivedAt":"2020-12-15T02:53:50Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Dec 14, 2020 at 06:43:36PM -0800, Junio C Hamano wrote:\n\n> diff --git c/git-compat-util.h w/git-compat-util.h\n> index 7d509c5022..58cd0761be 100644\n> --- c/git-compat-util.h\n> +++ w/git-compat-util.h\n> @@ -273,7 +273,8 @@ struct itimerval {\n>  \n>  #ifdef NO_SETITIMER\n>  static inline int setitimer(int which, const struct itimerval *value, struct itimerval *newvalue) {\n> -\t; /* nothing */\n> +\terrno = ENOSYS;\n> +\treturn -1; /* not implemented */\n>  }\n>  #endif\n>  \n> Alternatively we could pretend that the call always succeeds by\n> without touching errno and returning 0.  That might be safer, but I\n> dunno which one we want, and I do not have a system affected by the\n> choice.\n\nI think this is a sensible choice. Before the conversion to an inline,\nthe code was removed entirely! So anybody checking the return value\nwould have seen an error, and we do not have to worry much about\nbreaking them.\n\nFor new callers, anybody checking the return value would probably\nappreciate the warning that support for the function is optional (OTOH,\nthey would probably not find out themselves, but rather when Randall\ntells them ;) ).\n\nIt would be nice to have a way to warn them even on platforms that have\nsetitimer(), but I can't think of an easy way.\n\n> > Aside from inlining bodies, this should not have compiled on any platform:\n> >\n> > static inline void strset_remove(struct strset *set, const char *str)\n> > {\n> >         return strmap_remove(&set->map, str, 0);\n> > }\n> >\n> > What is really intended here?\n> \n> I think we should just drop \"return\"; a void function should be\n> called in void context without requiring a value, even if that\n> return expects no value.\n\nYeah, I think that is right. I checked earlier iterations of the series\nto see if perhaps strmap_remove() had previously returned a value, but\nit never did in any on the list.\n\n> diff --git i/strmap.h w/strmap.h\n> index c4c104411b..1e152d832d 100644\n> --- i/strmap.h\n> +++ w/strmap.h\n> @@ -165,7 +165,7 @@ static inline int strintmap_contains(struct strintmap *map, const char *str)\n>  \n>  static inline void strintmap_remove(struct strintmap *map, const char *str)\n>  {\n> -\treturn strmap_remove(&map->map, str, 0);\n> +\tstrmap_remove(&map->map, str, 0);\n>  }\n\nSo yeah, I think that is the right fix. +cc Elijah for any other\ninsight.\n\n-Peff\n"},{"id":"412264","messageId":"001e01d6d2fa$bc1afab0$3450f010$@nexbridge.com","threadId":"54825","inReplyTo":"X9glBJnlLMTW6Dns@coredump.intra.peff.net","subject":"RE: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2020-12-15T15:55:33Z","receivedAt":"2020-12-15T15:57:13Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On December 14, 2020 9:53 PM, Peff wrote:\n> On Mon, Dec 14, 2020 at 06:43:36PM -0800, Junio C Hamano wrote:\n> \n> > diff --git c/git-compat-util.h w/git-compat-util.h index\n> > 7d509c5022..58cd0761be 100644\n> > --- c/git-compat-util.h\n> > +++ w/git-compat-util.h\n> > @@ -273,7 +273,8 @@ struct itimerval {\n> >\n> >  #ifdef NO_SETITIMER\n> >  static inline int setitimer(int which, const struct itimerval *value, struct\n> itimerval *newvalue) {\n> > -\t; /* nothing */\n> > +\terrno = ENOSYS;\n> > +\treturn -1; /* not implemented */\n> >  }\n> >  #endif\n> >\n> > Alternatively we could pretend that the call always succeeds by\n> > without touching errno and returning 0.  That might be safer, but I\n> > dunno which one we want, and I do not have a system affected by the\n> > choice.\n> \n> I think this is a sensible choice. Before the conversion to an inline, the code\n> was removed entirely! So anybody checking the return value would have\n> seen an error, and we do not have to worry much about breaking them.\n> \n> For new callers, anybody checking the return value would probably\n> appreciate the warning that support for the function is optional (OTOH, they\n> would probably not find out themselves, but rather when Randall tells them ;)\n> ).\n> \n> It would be nice to have a way to warn them even on platforms that have\n> setitimer(), but I can't think of an easy way.\n\nStrangely, we do have setitimer() on NonStop. I'm not sure how we get into this situation, unless it's not being detected correctly.\n\n> > > Aside from inlining bodies, this should not have compiled on any\n> platform:\n> > >\n> > > static inline void strset_remove(struct strset *set, const char\n> > > *str) {\n> > >         return strmap_remove(&set->map, str, 0); }\n> > >\n> > > What is really intended here?\n> >\n> > I think we should just drop \"return\"; a void function should be called\n> > in void context without requiring a value, even if that return expects\n> > no value.\n> \n> Yeah, I think that is right. I checked earlier iterations of the series to see if\n> perhaps strmap_remove() had previously returned a value, but it never did in\n> any on the list.\n> \n> > diff --git i/strmap.h w/strmap.h\n> > index c4c104411b..1e152d832d 100644\n> > --- i/strmap.h\n> > +++ w/strmap.h\n> > @@ -165,7 +165,7 @@ static inline int strintmap_contains(struct\n> > strintmap *map, const char *str)\n> >\n> >  static inline void strintmap_remove(struct strintmap *map, const char\n> > *str)  {\n> > -\treturn strmap_remove(&map->map, str, 0);\n> > +\tstrmap_remove(&map->map, str, 0);\n> >  }\n> \n> So yeah, I think that is the right fix. +cc Elijah for any other insight.\n\nFYI: We successfully built 2.29.2 without issues. I'm not sure how this all happened but seems like it was at 1201eb628a.\n \nThanks,\nRandall\n\n"},{"id":"412266","messageId":"CABPp-BEnkQahdVJP+rfQho+S_hcS3y-o3cZBUMhU-EQHjJTLOQ@mail.gmail.com","threadId":"54825","inReplyTo":"X9glBJnlLMTW6Dns@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2020-12-15T16:21:37Z","receivedAt":"2020-12-15T16:22:55Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Mon, Dec 14, 2020 at 6:52 PM Jeff King <peff@peff.net> wrote:\n>\n> On Mon, Dec 14, 2020 at 06:43:36PM -0800, Junio C Hamano wrote:\n>\n> > diff --git c/git-compat-util.h w/git-compat-util.h\n> > index 7d509c5022..58cd0761be 100644\n> > --- c/git-compat-util.h\n> > +++ w/git-compat-util.h\n> > @@ -273,7 +273,8 @@ struct itimerval {\n> >\n> >  #ifdef NO_SETITIMER\n> >  static inline int setitimer(int which, const struct itimerval *value, struct itimerval *newvalue) {\n> > -     ; /* nothing */\n> > +     errno = ENOSYS;\n> > +     return -1; /* not implemented */\n> >  }\n> >  #endif\n> >\n> > Alternatively we could pretend that the call always succeeds by\n> > without touching errno and returning 0.  That might be safer, but I\n> > dunno which one we want, and I do not have a system affected by the\n> > choice.\n>\n> I think this is a sensible choice. Before the conversion to an inline,\n> the code was removed entirely! So anybody checking the return value\n> would have seen an error, and we do not have to worry much about\n> breaking them.\n>\n> For new callers, anybody checking the return value would probably\n> appreciate the warning that support for the function is optional (OTOH,\n> they would probably not find out themselves, but rather when Randall\n> tells them ;) ).\n>\n> It would be nice to have a way to warn them even on platforms that have\n> setitimer(), but I can't think of an easy way.\n>\n> > > Aside from inlining bodies, this should not have compiled on any platform:\n> > >\n> > > static inline void strset_remove(struct strset *set, const char *str)\n> > > {\n> > >         return strmap_remove(&set->map, str, 0);\n> > > }\n> > >\n> > > What is really intended here?\n> >\n> > I think we should just drop \"return\"; a void function should be\n> > called in void context without requiring a value, even if that\n> > return expects no value.\n>\n> Yeah, I think that is right. I checked earlier iterations of the series\n> to see if perhaps strmap_remove() had previously returned a value, but\n> it never did in any on the list.\n>\n> > diff --git i/strmap.h w/strmap.h\n> > index c4c104411b..1e152d832d 100644\n> > --- i/strmap.h\n> > +++ w/strmap.h\n> > @@ -165,7 +165,7 @@ static inline int strintmap_contains(struct strintmap *map, const char *str)\n> >\n> >  static inline void strintmap_remove(struct strintmap *map, const char *str)\n> >  {\n> > -     return strmap_remove(&map->map, str, 0);\n> > +     strmap_remove(&map->map, str, 0);\n> >  }\n>\n> So yeah, I think that is the right fix. +cc Elijah for any other\n> insight.\n\nDoh, sorry for the bug.  Yeah, that's the exact fix I'd make.  Junio,\ndo you want to just use the changes you've already got, or would you\nlike me to submit a patch removing these two 'return's?\n"},{"id":"412295","messageId":"xmqq4kkm93sm.fsf@gitster.c.googlers.com","threadId":"54825","inReplyTo":"CABPp-BEnkQahdVJP+rfQho+S_hcS3y-o3cZBUMhU-EQHjJTLOQ@mail.gmail.com","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-12-15T21:07:21Z","receivedAt":"2020-12-15T21:08:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":""},{"id":"412296","messageId":"xmqqzh2e7p6l.fsf@gitster.c.googlers.com","threadId":"54825","inReplyTo":"CABPp-BEnkQahdVJP+rfQho+S_hcS3y-o3cZBUMhU-EQHjJTLOQ@mail.gmail.com","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-12-15T21:08:18Z","receivedAt":"2020-12-15T21:09:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Elijah Newren <newren@gmail.com> writes:\n\n> Doh, sorry for the bug.  Yeah, that's the exact fix I'd make.  Junio,\n> do you want to just use the changes you've already got, or would you\n> like me to submit a patch removing these two 'return's?\n\nNah, the other half of the reported issue was mine, so let me see if\nI can quickly whip up a two-patch series.\n\nThanks.\n"},{"id":"412297","messageId":"xmqqtusm7odr.fsf_-_@gitster.c.googlers.com","threadId":"54825","inReplyTo":"xmqqzh2e7p6l.fsf@gitster.c.googlers.com","subject":"[PATCH] strmap: make callers of strmap_remove() to call it in void context","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-12-15T21:25:36Z","receivedAt":"2020-12-15T21:26:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Two \"static inline\" functions, both of which return void, call\nstrmap_remove() and tries to return the value it returns as their\nreturn value, which is just bogus, as strmap_remove() returns void\nitself.  Call it in the void context and fall-thru the control to\nthe end instead.\n\nReported-by: Randall S. Becker <rsbecker@nexbridge.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n strmap.h | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/strmap.h b/strmap.h\nindex c4c104411b..1e152d832d 100644\n--- a/strmap.h\n+++ b/strmap.h\n@@ -165,7 +165,7 @@ static inline int strintmap_contains(struct strintmap *map, const char *str)\n \n static inline void strintmap_remove(struct strintmap *map, const char *str)\n {\n-\treturn strmap_remove(&map->map, str, 0);\n+\tstrmap_remove(&map->map, str, 0);\n }\n \n static inline int strintmap_empty(struct strintmap *map)\n@@ -249,7 +249,7 @@ static inline int strset_contains(struct strset *set, const char *str)\n \n static inline void strset_remove(struct strset *set, const char *str)\n {\n-\treturn strmap_remove(&set->map, str, 0);\n+\tstrmap_remove(&set->map, str, 0);\n }\n \n static inline int strset_empty(struct strset *set)\n-- \n2.30.0-rc0-186-g20447144ec\n\n"},{"id":"412298","messageId":"xmqqpn3a7ocm.fsf_-_@gitster.c.googlers.com","threadId":"54825","inReplyTo":"xmqqzh2e7p6l.fsf@gitster.c.googlers.com","subject":"[PATCH] compat-util: pretend that stub setitimer() always succeeds","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-12-15T21:26:17Z","receivedAt":"2020-12-15T21:30:55Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"When 15b52a44 (compat-util: type-check parameters of no-op\nreplacement functions, 2020-08-06) turned a handful of no-op\nC-preprocessor macros into static inline functions to give the\ncallers a better type checking for their parameters, it forgot\nto return anything from the stubbed out setitimer() function,\neven though the function was defined to return an int just like the\nreal thing.\n\nSince the original C-preprocessor macro implementation was to just\nturn the call to the function an empty statement, we know that the\nexisting callers do not check the return value from it, and it does\nnot matter what value we return.  But it is safer to pretend that\nthe call succeeded by returning 0 than making it fail by returning -1\nand clobbering errno with some value.\n\nReported-by: Randall S. Becker <rsbecker@nexbridge.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n git-compat-util.h | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex 7a0fb7a045..421c90b5d8 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -273,7 +273,7 @@ struct itimerval {\n \n #ifdef NO_SETITIMER\n static inline int setitimer(int which, const struct itimerval *value, struct itimerval *newvalue) {\n-\t; /* nothing */\n+\treturn 0; /* pretend success */\n }\n #endif\n \n-- \n2.30.0-rc0-186-g20447144ec\n\n"},{"id":"412299","messageId":"004a01d6d32a$3b92ec60$b2b8c520$@nexbridge.com","threadId":"54825","inReplyTo":"xmqqtusm7odr.fsf_-_@gitster.c.googlers.com","subject":"RE: [PATCH] strmap: make callers of strmap_remove() to call it in void context","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2020-12-15T21:35:32Z","receivedAt":"2020-12-15T21:40:57Z","isPatch":true,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"> -----Original Message-----\n> From: Junio C Hamano <gitster@pobox.com>\n> Sent: December 15, 2020 4:26 PM\n> To: Elijah Newren <newren@gmail.com>; Randall S. Becker\n> <rsbecker@nexbridge.com>\n> Cc: Jeff King <peff@peff.net>; Git Mailing List <git@vger.kernel.org>\n> Subject: [PATCH] strmap: make callers of strmap_remove() to call it in\nvoid\n> context\n> \n> Two \"static inline\" functions, both of which return void, call\n> strmap_remove() and tries to return the value it returns as their return\nvalue,\n> which is just bogus, as strmap_remove() returns void itself.  Call it in\nthe void\n> context and fall-thru the control to the end instead.\n> \n> Reported-by: Randall S. Becker <rsbecker@nexbridge.com>\n> Signed-off-by: Junio C Hamano <gitster@pobox.com>\n> ---\n>  strmap.h | 4 ++--\n>  1 file changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/strmap.h b/strmap.h\n> index c4c104411b..1e152d832d 100644\n> --- a/strmap.h\n> +++ b/strmap.h\n> @@ -165,7 +165,7 @@ static inline int strintmap_contains(struct strintmap\n> *map, const char *str)\n> \n>  static inline void strintmap_remove(struct strintmap *map, const char\n*str)  {\n> -\treturn strmap_remove(&map->map, str, 0);\n> +\tstrmap_remove(&map->map, str, 0);\n>  }\n> \n>  static inline int strintmap_empty(struct strintmap *map) @@ -249,7 +249,7\n> @@ static inline int strset_contains(struct strset *set, const char *str)\n> \n>  static inline void strset_remove(struct strset *set, const char *str)  {\n> -\treturn strmap_remove(&set->map, str, 0);\n> +\tstrmap_remove(&set->map, str, 0);\n>  }\n> \n>  static inline int strset_empty(struct strset *set)\n> --\n> 2.30.0-rc0-186-g20447144ec\n\nLooks good from here.\n\nRegards,\nRandall\n\n"},{"id":"412300","messageId":"X9ksfyBujBrYWmAW@coredump.intra.peff.net","threadId":"54825","inReplyTo":"xmqqzh2e7p6l.fsf@gitster.c.googlers.com","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2020-12-15T21:37:03Z","receivedAt":"2020-12-15T21:41:16Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Tue, Dec 15, 2020 at 01:08:18PM -0800, Junio C Hamano wrote:\n\n> Elijah Newren <newren@gmail.com> writes:\n> \n> > Doh, sorry for the bug.  Yeah, that's the exact fix I'd make.  Junio,\n> > do you want to just use the changes you've already got, or would you\n> > like me to submit a patch removing these two 'return's?\n> \n> Nah, the other half of the reported issue was mine, so let me see if\n> I can quickly whip up a two-patch series.\n\nThanks, both look OK to me. I probably would have kept \"return -1\" in\nthe setitimer one, but I doubt it really matters much either way.\n\n-Peff\n"},{"id":"412375","messageId":"xmqqsg854q5y.fsf@gitster.c.googlers.com","threadId":"54825","inReplyTo":"X9ksfyBujBrYWmAW@coredump.intra.peff.net","subject":"Re: [ANNOUNCE] git-2.30.0-rc0 - Compile Fails on HPE NonStop","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2020-12-16T17:27:37Z","receivedAt":"2020-12-16T17:28:27Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Tue, Dec 15, 2020 at 01:08:18PM -0800, Junio C Hamano wrote:\n>\n>> Elijah Newren <newren@gmail.com> writes:\n>> \n>> > Doh, sorry for the bug.  Yeah, that's the exact fix I'd make.  Junio,\n>> > do you want to just use the changes you've already got, or would you\n>> > like me to submit a patch removing these two 'return's?\n>> \n>> Nah, the other half of the reported issue was mine, so let me see if\n>> I can quickly whip up a two-patch series.\n>\n> Thanks, both look OK to me. I probably would have kept \"return -1\" in\n> the setitimer one, but I doubt it really matters much either way.\n\nYeah, we know that the return value does not matter as nobody looks\nat it.  I just was a bit hesitant to clobber errno with ENOSYS.\n"}]}