From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 14468 invoked from network); 7 Sep 2023 02:48:03 -0000 Received: from 9front.inri.net (168.235.81.73) by inbox.vuxu.org with ESMTPUTF8; 7 Sep 2023 02:48:03 -0000 Received: from mail-ej1-f45.google.com ([209.85.218.45]) by 9front; Wed Sep 6 22:44:10 -0400 2023 Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-9a9d82d73f9so45112466b.3 for <9front@9front.org>; Wed, 06 Sep 2023 19:44:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694054647; x=1694659447; darn=9front.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=YjqSJ2xvjDa3Zgp2mQwsT7PPAMGLpWHIuSxOWUtqZeo=; b=MSNLSRILRB5bGWO93XuMdyvqcfwhY+WmNKIcM/178h5XXMJdhPIs8SSoc/dQb0rtrv MQ474Lkm781mZC9lATY6jL6dsOsRcuGamZjrfca1MloLBdzPLJPg9R40feGbB1BREyiN rZVfnMfH34b9qNwXlTHF6U9HERBn0cfSx/4jw55g0ypgN0kUWblD6/Le2Y+CqeAmm2w4 NOSZ15bOQH3GSV0CDTddPb1tlbplrJZb6HqMSAZRPsoq69rgS3vXBDg8v8wai+VHcTf4 69RELSSnd9vt0MHNsQ/Z41zugQliQ3VLmnzWcTHI1V979Khq0RHcb6Ab+GJJOb32VpxO iRug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1694054647; x=1694659447; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=YjqSJ2xvjDa3Zgp2mQwsT7PPAMGLpWHIuSxOWUtqZeo=; b=eNm3HMS5xwf9PTnChNLtx+K25057l4VrEAuIJ5jqEY4x2WmX5SWpajoVRcQKMOesvO pS12qFPD1EY5tgLTRLTVkjV3hZWyhqi653JwIIUfRa/TqtXL/kT++L5QWl/vyg62AL0m a7FFF094xjpmUu6rBY21EkaFbXXzbbvcGEbVEfRF5UWUTehBNTKrU9jgIKL2TmbYewfR 7Hw+I/2Pydy9NXSHDyyjUFh9l0jq+8WcwGc4P6TxC4frBkV26Zg9NzV+6EKJtnIveq11 a9p6K5JQIO8XUPDs5nmRiCbpK4WIoLuu9MJjKJQ2TBinsBn2sJtzlmWuxYXHJwn5HH6q 5e6g== X-Gm-Message-State: AOJu0Yx4G5Ypo6jNXR1eNDzJCP6UCV6ZuGzVBw1ZB6RVvYBVq49/Lptu 52XHuWWK7bll2zO8fQJAgb/X/BR8RMCZ0EjG+/9sHQ2Q/GA= X-Google-Smtp-Source: AGHT+IGhz5iV4L9dKghPBYLAz9TBHu1Wk4degS8sEh/hjLos3ca+6cpC0W35gNgGMU5KFAhFCFs8lnmHB4NfFy3ai7A= X-Received: by 2002:a17:907:a06c:b0:9a1:bfdc:2d5d with SMTP id ia12-20020a170907a06c00b009a1bfdc2d5dmr3216349ejc.41.1694054646923; Wed, 06 Sep 2023 19:44:06 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Amavect Date: Wed, 6 Sep 2023 21:43:50 -0500 Message-ID: To: 9front@9front.org Content-Type: multipart/mixed; boundary="00000000000075dd0b0604bbd561" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: secure self-signing replication singleton Subject: Re: [9front] new game: battleship (aka sink the fleet) Reply-To: 9front@9front.org Precedence: bulk --00000000000075dd0b0604bbd561 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Sep 6, 2023 at 6:02=E2=80=AFAM wrote: > hey amavect! long time no see :) I'm alive! Feel free to send me a message if you miss me. > i agree, but implementing it with the conclusion struct seemed like > the simplest idea atm. in the end it's the same process, so it will > have to wait (blocking) those five seconds after printing the banner, > no matter the thread. but it can be done better for sure. Totally agree, and it's time to make it better. It's rare for sleep() to be the best option in userspace. There's often a way to organize the code to block on read or rendezvous. I think the best option is to prompt the user to queue again. Then, the program can immediately respond to the delete key, and the user doesn't have to wait to requeue. There's 2 other sleep calls in btsd.c. Those may be removed by using channels instead of your custom list. >cool, i look forward to that. Here it is! Thanks, Amavect --00000000000075dd0b0604bbd561 X-Attachment-Id: f_lm8k9d7l0 Content-Type: multipart/mixed; boundary="upas-hesuicwwidemratbvktcrvsuko" Content-Disposition: inline This is a multi-part message in MIME format. --upas-hesuicwwidemratbvktcrvsuko Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit from postmaster@9front: The following attachment had content that we can't prove to be harmless. To avoid possible automatic execution, we changed the content headers. The original header was: Content-Type: text/x-patch; charset="US-ASCII"; name="battleship-0.patch" Content-Disposition: attachment; filename="battleship-0.patch" Content-Transfer-Encoding: base64 Content-ID: --upas-hesuicwwidemratbvktcrvsuko Content-Type: application/octet-stream Content-Disposition: attachment; filename="battleship-0.patch.suspect" Content-Transfer-Encoding: base64 RnJvbTogQW1hdmVjdCA8YW1hdmVjdEBnbWFpbC5jb20+CkRhdGU6IFRodSwgMDcgU2VwIDIwMjMg MDI6Mzg6MzYgKzAwMDAKU3ViamVjdDogW1BBVENIXSBpbmxpbmUgc3Bhd25lZCB0aHJlYWRzIHRv IHRocmVhZG1haW4uCgoKUG9pbnRlcnMgdG8gYXV0b21hdGljIHZhcmlhYmxlcyBiZWNvbWUgaW52 YWxpZAp3aGVuIHRocmVhZG1haW4gZXhpdHMuClNvbHV0aW9uIGlzIHRvIHJldXNlIHRocmVhZG1h aW4uClVzZSBuYnNlbmQgdG8gYXZvaWQgZGVhZGxvY2sgdG8gdGhlIGRyYXcgY2hhbm5lbC4KSW5w dXQgc3RydWN0IGlzIG5vIGxvbmdlciBuZWVkZWQsIGlubGluZSBpdC4KLS0tCmRpZmYgMjcyM2Ji NmZmM2UzMzlmN2Y1NmE2Mjc2ZmExYzdjOWYyOGQ2Mzg3MSAzMGMwNjQyODdjZGI5YzcwMDYwODhl YTM4YjRkY2I2MjA1OWE0NjQ3Ci0tLSBhL2J0cy5jCisrKyBiL2J0cy5jCkBAIC0zNDQsNyArMzQ0 LDcgQEAKIAkJfQogCX0KIAotCXNlbmQoZHJhd2NoYW4sIG5pbCk7CisJbmJzZW5kKGRyYXdjaGFu LCBuaWwpOwogfQogCiB2b2lkCkBAIC01MDAsNyArNTAwLDcgQEAKIAkJfQogCQlicmVhazsKIAl9 Ci0Jc2VuZChkcmF3Y2hhbiwgbmlsKTsKKwluYnNlbmQoZHJhd2NoYW4sIG5pbCk7CiB9CiAKIHZv aWQKQEAgLTUzNiw3ICs1MzYsNyBAQAogCQlpZihyZWN0WGFybWFkYShjdXJzaGlwLT5iYm94KSkK IAkJCWN1cnNoaXAtPmJib3ggPSBaUjsKIAotCQlzZW5kKGRyYXdjaGFuLCBuaWwpOworCQluYnNl bmQoZHJhd2NoYW4sIG5pbCk7CiAJfQogfQogCkBAIC01ODQsNyArNTg0LDcgQEAKIAkJbGF5b3V0 ZG9uZSsrOwogCQlicmVhazsKIAl9Ci0Jc2VuZChkcmF3Y2hhbiwgbmlsKTsKKwluYnNlbmQoZHJh d2NoYW4sIG5pbCk7CiB9CiAKIHZvaWQKQEAgLTYwNSw3ICs2MDUsNyBAQAogCQlpZihyZWN0aW5y ZWN0KG5ld2Jib3gsIGxvY2FsYm9hcmQuYmJveCkgJiYgIXJlY3RYYXJtYWRhKG5ld2Jib3gpKXsK IAkJCWN1cnNoaXAtPnAgPSB0b2JvYXJkKCZsb2NhbGJvYXJkLCBtYy0+eHkpOwogCQkJY3Vyc2hp cC0+YmJveCA9IG5ld2Jib3g7Ci0JCQlzZW5kKGRyYXdjaGFuLCBuaWwpOworCQkJbmJzZW5kKGRy YXdjaGFuLCBuaWwpOwogCQl9CiAJfQogCkBAIC02MzksNDQgKzYzOSw2IEBACiB9CiAKIHZvaWQK LWJvYnJvc3Modm9pZCAqKQotewotCXdoaWxlKHJlY3YoZHJhd2NoYW4sIG5pbCkgPiAwKQotCQly ZWRyYXcoKTsKLQlzeXNmYXRhbCgicGFpbnRlciBkaWVkIik7Ci19Ci0KLXZvaWQKLWlucHV0dGhy ZWFkKHZvaWQgKmFyZykKLXsKLQlJbnB1dCAqaW47Ci0JUnVuZSByOwotCUFsdCBhWzRdOwotCi0J aW4gPSBhcmc7Ci0KLQlhWzBdLmMgPSBpbi0+bWMtPmM7IGFbMF0udiA9ICZpbi0+bWMtPk1vdXNl OyBhWzBdLm9wID0gQ0hBTlJDVjsKLQlhWzFdLmMgPSBpbi0+bWMtPnJlc2l6ZWM7IGFbMV0udiA9 IG5pbDsgYVsxXS5vcCA9IENIQU5SQ1Y7Ci0JYVsyXS5jID0gaW4tPmtjLT5jOyBhWzJdLnYgPSAm cjsgYVsyXS5vcCA9IENIQU5SQ1Y7Ci0JYVszXS5vcCA9IENIQU5FTkQ7Ci0KLQlmb3IoOzspCi0J CXN3aXRjaChhbHQoYSkpewotCQljYXNlIC0xOgotCQkJc3lzZmF0YWwoImlucHV0IHRocmVhZCBp bnRlcnJ1cHRlZCIpOwotCQljYXNlIDA6Ci0JCQltb3VzZShpbi0+bWMpOwotCQkJYnJlYWs7Ci0J CWNhc2UgMToKLQkJCXJlc2l6ZSgpOwotCQkJYnJlYWs7Ci0JCWNhc2UgMjoKLQkJCWtleShyKTsK LQkJCWJyZWFrOwotCQl9Ci19Ci0KLXZvaWQKIGNlbGVicmF0ZSh2b2lkKQogewogCXN0YXRpYyBJ bWFnZSAqYzsKQEAgLTc2Miw3ICs3MjQsNyBAQAogCQl9CiAJCWJyZWFrOwogCX0KLQlzZW5kKGRy YXdjaGFuLCBuaWwpOworCW5ic2VuZChkcmF3Y2hhbiwgbmlsKTsKIH0KIAogdm9pZApAQCAtODIx LDE1ICs3ODMsMTAgQEAKIHRocmVhZG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKIAlj aGFyICphZGRyOwotCS8qCi0JICogVE9ETwotCSAqIGlmIGl0J3Mgbm90IHN0YXRpYyBpdCBtZXNz ZXMgd2l0aCBpbi5tYy0+eHkgbGF0ZXIsIHByb2JhYmx5Ci0JICogYmVjYXVzZSBvZiBhbiBzdGFj ayBvdmVyZmxvdyBzb21ld2hlcmUuICBoYXZlIHRvIGludmVzdGlnYXRlCi0JICogd2l0aCB3cHNl dCgidyIsICZpbi5tYy0+eHksIHNpemVvZihQb2ludCopKTsgaW4gYWNpZCgxKQotCSAqLwotCXN0 YXRpYyBjaGFyICp1c2VyOworCWNoYXIgKnVzZXI7CiAJaW50IGZkOwotCUlucHV0IGluOworCU1v dXNlY3RsICptYzsKKwlLZXlib2FyZGN0bCAqa2M7CiAKIAlHRU9NZm10aW5zdGFsbCgpOwogCUFS R0JFR0lOewpAQCAtODU2LDE1ICs4MTMsMTUgQEAKIAkJc3lzZmF0YWwoIm5ld3dpbmRvdzogJXIi KTsKIAlpZihpbml0ZHJhdyhuaWwsIGRlZmZvbnQsICJidHMiKSA8IDApCiAJCXN5c2ZhdGFsKCJp bml0ZHJhdzogJXIiKTsKLQlpZigoaW4ubWMgPSBpbml0bW91c2UobmlsLCBzY3JlZW4pKSA9PSBu aWwpCisJaWYoKG1jID0gaW5pdG1vdXNlKG5pbCwgc2NyZWVuKSkgPT0gbmlsKQogCQlzeXNmYXRh bCgiaW5pdG1vdXNlOiAlciIpOwotCWlmKChpbi5rYyA9IGluaXRrZXlib2FyZChuaWwpKSA9PSBu aWwpCisJaWYoKGtjID0gaW5pdGtleWJvYXJkKG5pbCkpID09IG5pbCkKIAkJc3lzZmF0YWwoImlu aXRrZXlib2FyZDogJXIiKTsKIAogCWRpc3BsYXktPmxvY2tpbmcgPSAxOwogCXVubG9ja2Rpc3Bs YXkoZGlzcGxheSk7CiAKLQltY3RsID0gaW4ubWM7CisJbWN0bCA9IG1jOwogCWlmKCh1c2VyID0g Z2V0ZW52KCJ1c2VyIikpID09IG5pbCkKIAkJdXNlciA9IGdldHVzZXIoKTsKIAlzbnByaW50KHVp ZCwgc2l6ZW9mIHVpZCwgIiVzIiwgdXNlcik7CkBAIC04ODAsMTMgKzgzNywzOCBAQAogCWdhbWUu c3RhdGUgPSBXYWl0aW5nMDsKIAljc2V0Y3Vyc29yKG1jdGwsICZwYXRyb2xjdXJzb3IpOwogCi0J ZHJhd2NoYW4gPSBjaGFuY3JlYXRlKHNpemVvZih2b2lkKiksIDApOworCWRyYXdjaGFuID0gY2hh bmNyZWF0ZShzaXplb2Yodm9pZCopLCAxKTsKIAlpbmdyZXNzID0gY2hhbmNyZWF0ZShzaXplb2Yo Y2hhciopLCAxKTsKIAllZ3Jlc3MgPSBjaGFuY3JlYXRlKHNpemVvZihjaGFyKiksIDEpOwotCXRo cmVhZGNyZWF0ZShib2Jyb3NzLCBuaWwsIG1haW5zdGFja3NpemUpOwotCXRocmVhZGNyZWF0ZShp bnB1dHRocmVhZCwgJmluLCBtYWluc3RhY2tzaXplKTsKIAl0aHJlYWRjcmVhdGUobmV0cmVjdnRo cmVhZCwgJmZkLCBtYWluc3RhY2tzaXplKTsKIAl0aHJlYWRjcmVhdGUobmV0c2VuZHRocmVhZCwg JmZkLCBtYWluc3RhY2tzaXplKTsKLQlzZW5kKGRyYXdjaGFuLCBuaWwpOwotCXlpZWxkKCk7CisJ bmJzZW5kKGRyYXdjaGFuLCBuaWwpOworCisJUnVuZSByOworCWVudW0ge01PVVNFLCBSRVNJWkUs IEtFWVMsIERSQVcsIE5PTkV9OworCUFsdCBhW10gPSB7CisJW01PVVNFXSAgPSB7bWMtPmMsICZt Yy0+TW91c2UsIENIQU5SQ1Z9LAorCVtSRVNJWkVdID0ge21jLT5yZXNpemVjLCBuaWwsIENIQU5S Q1Z9LAorCVtLRVlTXSAgID0ge2tjLT5jLCAmciwgQ0hBTlJDVn0sCisJW0RSQVddICAgPSB7ZHJh d2NoYW4sIG5pbCwgQ0hBTlJDVn0sCisJW05PTkVdICAgPSB7bmlsLCBuaWwsIENIQU5FTkR9CisJ fTsKKworCWZvcig7OykKKwkJc3dpdGNoKGFsdChhKSl7CisJCWRlZmF1bHQ6CisJCQlzeXNmYXRh bCgiaW5wdXQgdGhyZWFkIGludGVycnVwdGVkIik7CisJCWNhc2UgTU9VU0U6CisJCQltb3VzZSht Yyk7CisJCQlicmVhazsKKwkJY2FzZSBSRVNJWkU6CisJCQlyZXNpemUoKTsKKwkJCWJyZWFrOwor CQljYXNlIEtFWVM6CisJCQlrZXkocik7CisJCQlicmVhazsKKwkJY2FzZSBEUkFXOgorCQkJcmVk cmF3KCk7CisJCQlicmVhazsKKwkJfQogfQotLS0gYS9idHNkLmMKKysrIGIvYnRzZC5jCkBAIC0y OTksMTQgKzI5OSwxMiBAQAogfQogCiB2b2lkCi1saXN0ZW50aHJlYWQodm9pZCAqYXJnKQorbGlz dGVudGhyZWFkKGNoYXIgKmFkZHIpCiB7Ci0JY2hhciAqYWRkciwgYWRpcls0MF0sIGxkaXJbNDBd LCBhdXhbMTI4XSwgKnM7CisJY2hhciBhZGlyWzQwXSwgbGRpcls0MF0sIGF1eFsxMjhdLCAqczsK IAlpbnQgYWNmZCwgbGNmZCwgZGZkLCBzZmQ7CiAJUGxheWVyICpwOwogCi0JYWRkciA9IGFyZzsK LQogCWFjZmQgPSBhbm5vdW5jZShhZGRyLCBhZGlyKTsKIAlpZihhY2ZkIDwgMCkKIAkJc3lzZmF0 YWwoImFubm91bmNlOiAlciIpOwpAQCAtMzU3LDYgKzM1NSw3IEBACiAJY2FzZSAnYSc6CiAJCWFk ZHIgPSBFQVJHRih1c2FnZSgpKTsKIAkJYnJlYWs7CisJZGVmYXVsdDogdXNhZ2UoKTsKIAl9QVJH RU5ECiAJaWYoYXJnYyAhPSAwKQogCQl1c2FnZSgpOwpAQCAtMzYzLDYgKzM2Miw1IEBACiAKIAlw cm9jY3JlYXRlKG1hdGNobWFrZXIsIG5pbCwgbWFpbnN0YWNrc2l6ZSk7CiAJcHJvY2NyZWF0ZShy ZWFwZXIsIG5pbCwgbWFpbnN0YWNrc2l6ZSk7Ci0JdGhyZWFkY3JlYXRlKGxpc3RlbnRocmVhZCwg YWRkciwgbWFpbnN0YWNrc2l6ZSk7Ci0JeWllbGQoKTsKKwlsaXN0ZW50aHJlYWQoYWRkcik7CiB9 Ci0tLSBhL2RhdC5oCisrKyBiL2RhdC5oCkBAIC0zMSw3ICszMSw2IEBACiAJS0IgPSAxMDI0LAog fTsKIAotdHlwZWRlZiBzdHJ1Y3QgSW5wdXQgSW5wdXQ7CiB0eXBlZGVmIHN0cnVjdCBTaGlwIFNo aXA7CiB0eXBlZGVmIHN0cnVjdCBNYXAgTWFwOwogdHlwZWRlZiBzdHJ1Y3QgQm9hcmQgQm9hcmQ7 CkBAIC0zOSwxMiArMzgsNiBAQAogdHlwZWRlZiBzdHJ1Y3QgUGxheWVycSBQbGF5ZXJxOwogdHlw ZWRlZiBzdHJ1Y3QgTWF0Y2ggTWF0Y2g7CiB0eXBlZGVmIHN0cnVjdCBDaGFucGlwZSBDaGFucGlw ZTsKLQotc3RydWN0IElucHV0Ci17Ci0JTW91c2VjdGwgKm1jOwotCUtleWJvYXJkY3RsICprYzsK LX07CiAKIHN0cnVjdCBTaGlwCiB7Cg== --upas-hesuicwwidemratbvktcrvsuko-- --00000000000075dd0b0604bbd561--