From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id D4A961F463 for ; Fri, 20 Dec 2019 01:39:30 +0000 (UTC) Received: from localhost ([::1]:49620 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ii7GL-0002hu-PA for e@80x24.org; Thu, 19 Dec 2019 20:39:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:34952) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ii7GI-0002hB-Sq for dtas-all@nongnu.org; Thu, 19 Dec 2019 20:39:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ii7GG-0001AM-UM for dtas-all@nongnu.org; Thu, 19 Dec 2019 20:39:26 -0500 Received: from dcvr.yhbt.net ([64.71.152.64]:49528) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ii7GE-00015p-RL for dtas-all@nongnu.org; Thu, 19 Dec 2019 20:39:24 -0500 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 35ACA1F463 for ; Fri, 20 Dec 2019 01:39:18 +0000 (UTC) From: Eric Wong To: dtas-all@nongnu.org Subject: [PATCH v2 0/5] support fiddle for Linux-only syscalls Date: Fri, 20 Dec 2019 01:39:12 +0000 Message-Id: <20191220013917.17212-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 64.71.152.64 X-BeenThere: dtas-all@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: duct tape audio suite List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dtas-all-bounces+e=80x24.org@nongnu.org Sender: "dtas-all" fiddle can be used as an alternative to sleepy_penguin, since sleepy_penguin requires development headers and a compiler to install, and fiddle is bundled as part of Ruby. sleepy_penguin can still be faster, though, so we continue supporting sleepy_penguin. Eric Wong (5): pipe: avoid loading sleepy_penguin provide fiddle-based eventfd implementation buffer: replace sleepy_penguin with fiddle watchable: use fiddle for inotify support doc: remove most recommendations for sleepy_penguin Documentation/dtas-sinkedit.pod | 2 +- Documentation/dtas-sourceedit.pod | 2 +- INSTALL | 16 +-- lib/dtas.rb | 8 ++ lib/dtas/buffer.rb | 15 ++- lib/dtas/buffer/fiddle_splice.rb | 216 ++++++++++++++++++++++++++++++ lib/dtas/buffer/read_write.rb | 4 +- lib/dtas/buffer/splice.rb | 2 + lib/dtas/pipe.rb | 20 +-- lib/dtas/sigevent.rb | 7 +- lib/dtas/sigevent/efd.rb | 2 + lib/dtas/sigevent/fiddle_efd.rb | 38 ++++++ lib/dtas/sigevent/pipe.rb | 2 +- lib/dtas/watchable.rb | 115 ++++++++-------- lib/dtas/watchable/fiddle_ino.rb | 78 +++++++++++ lib/dtas/watchable/inotify.rb | 13 ++ test/test_buffer.rb | 10 +- test/test_sigevent.rb | 20 +++ test/test_sink_pipe_size.rb | 27 ++-- 19 files changed, 486 insertions(+), 111 deletions(-) create mode 100644 lib/dtas/buffer/fiddle_splice.rb create mode 100644 lib/dtas/sigevent/fiddle_efd.rb create mode 100644 lib/dtas/watchable/fiddle_ino.rb create mode 100644 lib/dtas/watchable/inotify.rb create mode 100644 test/test_sigevent.rb