Date: Wed, 27 Mar 2002 02:54:19 GMT From: "Forrest W. Christian" <forrestc@iMach.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: bin/36418: pccardd added option to exit after probe Message-ID: <200203270254.g2R2sJB05876@FluxCapacitor.iMach.com>
next in thread | raw e-mail | index | archive | help
>Number: 36418
>Category: bin
>Synopsis: pccardd added option to exit after probe
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Mar 28 02:10:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Forrest W.Christian (forrestc@imach.com)
>Release: FreeBSD 4.5-STABLE i386
>Organization:
iMach, Ltd.
>Environment:
N/A
>Description:
pccardd does not contain an option to exit immediately after probing
the cards. This is neccessary in low-memory embedded environments
where the overhead of pccardd running after the initial probe is not
wanted or needed.
>How-To-Repeat:
N/A
>Fix:
Patch is attached. I am currently re-applying this to my source tree
by hand after each cvsup. I have tested this and it works (dozens of
486 8MB wireless systems floating around with this patch).
I would appreciate it if a maintainer would look at this and possibly
apply it to the -STABLE tree, if possible.
(Both man page and source file patches are below)
*** /usr/src/usr.sbin/pccard/pccardd/pccardd.c Tue Sep 4 20:51:36 2001
--- pccardd.c Wed Mar 27 02:31:39 2002
***************
*** 156,167 ****
{
struct slot *sp;
int count, dodebug = 0;
int delay = 0;
int irq_arg[16];
int irq_specified = 0;
int i;
struct sockaddr_un sun;
! #define COM_OPTS ":Idvf:s:i:z"
bzero(irq_arg, sizeof(irq_arg));
use_kern_irq = 1;
--- 156,168 ----
{
struct slot *sp;
int count, dodebug = 0;
+ int probeonly = 0;
int delay = 0;
int irq_arg[16];
int irq_specified = 0;
int i;
struct sockaddr_un sun;
! #define COM_OPTS ":Idvf:s:i:zx"
bzero(irq_arg, sizeof(irq_arg));
use_kern_irq = 1;
***************
*** 196,201 ****
--- 197,205 ----
case 's':
sock = optarg;
break;
+ case 'x':
+ probeonly = 1;
+ break;
case 'z':
delay = 1;
break;
***************
*** 224,235 ****
if (doverbose)
dump_config_file();
log_setup();
! if (!dodebug && !delay)
if (daemon(0, 0))
die("fork failed");
slots = readslots();
if (slots == 0)
die("no PC-CARD slots");
if (delay)
if (daemon(0, 0))
die("fork failed");
--- 228,241 ----
if (doverbose)
dump_config_file();
log_setup();
! if (!dodebug && !delay && !probeonly)
if (daemon(0, 0))
die("fork failed");
slots = readslots();
if (slots == 0)
die("no PC-CARD slots");
+ if (probeonly)
+ exit(0);
if (delay)
if (daemon(0, 0))
die("fork failed");
*** /usr/src/usr.sbin/pccard/pccardd/pccardd.8 Tue Sep 4 20:51:30 2001
--- pccardd.8 Wed Mar 27 02:19:57 2002
***************
*** 35,40 ****
--- 35,41 ----
.Nm
.Op Fl d
.Op Fl v
+ .Op Fl x
.Op Fl z
.Op Fl i Ar IRQ
.Op Fl I
***************
*** 134,139 ****
--- 135,145 ----
.It Fl v
After reading the configuration file, print out a summary
of it.
+ .It Fl x
+ Exits immediately after the cards have been probed and attached. This is
+ primarily useful in embedded applications where it is desirable to use
+ pccardd to start PC-CARD devices but prohibitive memory-wise to leave
+ the pccardd process running.
.It Fl z
Delays running as a daemon until after the cards have been probed and attached.
.It Fl I
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203270254.g2R2sJB05876>
