Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 39DC4200CD2 for ; Thu, 27 Jul 2017 17:43:38 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 3854916AFA3; Thu, 27 Jul 2017 15:43:38 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 578AD16AFA0 for ; Thu, 27 Jul 2017 17:43:37 +0200 (CEST) Received: (qmail 44444 invoked by uid 500); 27 Jul 2017 15:43:36 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Id: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 44434 invoked by uid 99); 27 Jul 2017 15:43:36 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Jul 2017 15:43:36 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id AA2481806E1 for ; Thu, 27 Jul 2017 15:43:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.979 X-Spam-Level: X-Spam-Status: No, score=0.979 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, KAM_NUMSUBJECT=0.5, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=rowe-clan-net.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id dngEVicpWIHw for ; Thu, 27 Jul 2017 15:43:34 +0000 (UTC) Received: from mail-lf0-f51.google.com (mail-lf0-f51.google.com [209.85.215.51]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id EE0EE5FB32 for ; Thu, 27 Jul 2017 15:43:33 +0000 (UTC) Received: by mail-lf0-f51.google.com with SMTP id o85so22329297lff.3 for ; Thu, 27 Jul 2017 08:43:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rowe-clan-net.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=BVfOQOxOYInrji5eS3Wu6hnhHQ2iGEjt2e17yr9WCsk=; b=NpmApYN8LZhtnOu86UmMgbQmC6XfC5BuSVIlJr6B+OXkXjez/Ram3fdsW0vFTkXHE1 7Kt4qW+1Ly4rwGOipL03jL9yhqTbPz7cT76sopLQAQbZGqkQ12w+vK+bdF5YFKCPyrAK pwxHlrPXiGsZnOT4Xb7MpoZ1TLUh+F4Ey+EMMobvJR72OWZD+wsimRcJl9ZrPYBJURjM +wOc1MCfR4A55TTH0u+5N7k9fZ0SXC4A66tsjbezTfjZaGy4wIQDy9pER74lwKegELYN tCs8h8F6OWiftGtYsKVIzlBA1zlg6QQgXnYi03Fc6AAUPPSb9lORmA+Hmk6NAkPJQu4s 6gEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=BVfOQOxOYInrji5eS3Wu6hnhHQ2iGEjt2e17yr9WCsk=; b=jBXk1Mi+SIn7h8YEIWYCbjpZmCTd65ubmr9dQ+Mq56Ud3O+0tTbN8TrlKI3EVvXIZo t3HXszdXlS+rKINPliwhCO076cuUJy4X7TExYH4cAKlef8M/WBtu1mTtpNr1FAw2IWme 14gf46ETLnAp6Rh+B5E1vIHaR3E6XXr3zZc60x+Wr0ebrTzZpSiMrKCG/Wqpn9c6+9Eo yxv02cG76qDCOAwoPYp2UDk6xQ+CjRsqWrGnITtB7g5kFVf02pmeMhCVMJZ6PubRtMia BGPZFN0m0thc/razBUQ8+4joSrzG9M9CS5RLhgJYKQ/657d2YyDNietAyBpO+PNrO/Li B0nw== X-Gm-Message-State: AIVw1115R6i68eMO9AqobjvfunW+gL8B4BsPVzNCWB1++z/k0adDQzci CEiWjOKBC+lLkgktsYpBwr2E35GaxkAp X-Received: by 10.25.205.84 with SMTP id d81mr1422074lfg.255.1501170207429; Thu, 27 Jul 2017 08:43:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.215.4 with HTTP; Thu, 27 Jul 2017 08:43:26 -0700 (PDT) In-Reply-To: References: From: William A Rowe Jr Date: Thu, 27 Jul 2017 10:43:26 -0500 Message-ID: Subject: Re: Netware opinions requested; was Re: svn commit: r1797413 To: Yann Ylavic , APR Developer List Content-Type: text/plain; charset="UTF-8" archived-at: Thu, 27 Jul 2017 15:43:38 -0000 We gave this two weeks... are any Netware users available to comment? Otherwise, Yann, if we concur based on simple inspection, rather than confirmation from the Netware developers, it seems this change should go into apr 1.6.3 and a prominent NOTICE: added to CHANGES to ensure Netware users that apr >= 1.6.3 should be combined with code compiled to consume apr >= 1.6.3, or visa versa. If my reading is correct, apr >= 1.6.3 with code compiled against an earlier apr will be suboptimal but begin (suddenly) working. and the other two combinations, the API simply results in a NOTIMPL result. WDYT? On Fri, Jul 14, 2017 at 11:18 AM, William A Rowe Jr wrote: > On Mon, Jun 5, 2017 at 5:00 PM, William A Rowe Jr wrote: >> On Mon, Jun 5, 2017 at 3:33 PM, Yann Ylavic wrote: >>> On Mon, Jun 5, 2017 at 6:07 PM, William A Rowe Jr wrote: >>>> On Jun 3, 2017 13:36, "Yann Ylavic" wrote: >>>> >>>> >>>> #if 0 >>>> /* We need to change apr_os_proc_mutex_t to a pointer type >>>> * to be able to implement this function. >>>> @@ -141,6 +138,11 @@ APR_DECLARE(apr_status_t) apr_os_proc_mutex_get_ex >>>> *mech = APR_LOCK_DEFAULT; >>>> } >>>> return APR_SUCCESS; >>>> +#else >>>> + /* ENOTIMPL could be more meaningful, ENOLOCK is what 1.x has >>>> + * always returned... From 2.x, the API issue is fixed. >>>> + */ >>>> + return APR_ENOLOCK; >>>> #endif >>>> } >>>> >>>> >>>> Can I challenge your assumpion here for 1.7.x? >>>> >>>> You are reading a change in apr_proc_mutex_t and apr_os_proc_mutex_t as a >>>> binary breaking change. >>> >>> I didn't that feel this change : >>> -typedef NXMutex_t apr_os_proc_mutex_t; >>> +typedef NXMutex_t* apr_os_proc_mutex_t; >>> was a "minor" change. >>> >>>> >>>> But if you consider that apr's type is opaque, and that the underlying >>>> system apr_os_proc_mutex_t could not be _get or _set through 1.6.x, then the >>>> apr_os_proc_mutex_t on Netware was simply unused. >>> >>> But I'd like to concur to this point of view! >>> >>>> Is there an actual >>>> versioning conflict correcting the type declaration on Netware so these work >>>> from 1.7.0 forwards? >>> >>> What do you mean by "versioning conflict"? >> >> As you noted some time ago in >> http://git.net/ml/dev-apr-apache/2014-09/msg00057.html >> >> Ok... it seems I was confused, there is a * indirection in the >> apr_os_proc_mutex_t arg of both _get and _put calls. Older >> callers will dereference this to a 48 byte buffer, more than >> enough to store a void *, and if the logic is simply a using >> the _get result to _put into a new apr_proc_mutex_t, it will >> just work. Recompiling the consuming code saves lots of >> bytes and no other real change. Code compiled against >> the new implementation but mis-invoked against the older >> 1.5.x apr binary will deference a 4 byte buffer, but the older >> apr *will not fill what it believed to be a 48 byte buffer* >> because the _get and _put calls went unimplemented. >> >> Only code written to specifically use the NXMutex_t will >> have problems, but any such code has never worked in >> the first place. >> >> >>> If everyone is fine with the above type change (which can only fix >>> things, I don't see either how current apr_os_proc_mutex_t on netware >>> can be used), I'm very much for it to go to 1.7 (and even 1.6, why >>> not?)... >> >> If you are talking about simply fixing this defect for the untimed locks >> I don't see a reason we can't just fix it in 1.6.x > > What do the Netware folks think? It appears to me that this can > just be fixed for 1.6.3 without disrupting any use case on Netware.