Re: Device deadlock.

Peter Enderborg (pme@ufh.se)
Wed, 25 Aug 1999 22:24:54 +0200


This is a cryptographically signed message in MIME format.

--------------ms3896E497C4FB563100D4B4E8
Content-Type: multipart/mixed;
boundary="------------B1F617F4122896810B018853"

This is a multi-part message in MIME format.
--------------B1F617F4122896810B018853
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

"Richard B. Johnson" wrote:

> On Tue, 24 Aug 1999, Peter Enderborg wrote:
>
> > I have a program that sends midi events to the /dev/midi0 device.
> >
> > It open the device with open() for read/write. Sometimes it sends a lot of events
> >
> > and the device stops send. (Nonblocking) Then the device is dead. I stop the process and
> >
> > trying open the device and it is stil busy. The hardware is SB16 or SB128 PCI.
> >
> > Im thinking of sending some IOCTL to give it a reset signal, but I cant send IOCTL
> >
> > the device is busy. Ugly deadlock...
> >
> include <fcntl.h>
>
> fd = open("/dev/midi0", O_RWDR|O_NONBLOCK);
>
> Doesn't this work?
>
> Cheers,
> Dick Johnson
> **** FILE SYSTEM WAS MODIFIED ****
> Penguin : Linux version 2.3.13 on an i686 machine (400.59 BogoMips).
> Warning : It's hard to remain at the trailing edge of technology.

You can try play with this:

#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <unistd.h>

int main()
{
int fd1;
int result;

fd1 = open("/dev/midi00",O_RDWR|O_NONBLOCK);
if (fd1 == -1)
{
printf("Error open %s [%d]\n",strerror(errno),errno);
exit(1);
}
printf("Device ready. Lock it!\n");
do
{
result = write(fd1,"ABC",3);
}
while (result == 3);
printf("Result:%d\n",result);
result = write(fd1,"ABC",3);
if (result == -1)
{
printf("Error open %s [%d]\n",strerror(errno),errno);
}
return 0;
}

--
foo!

--------------B1F617F4122896810B018853 Content-Type: text/x-vcard; charset=us-ascii; name="pme.vcf" Content-Transfer-Encoding: 7bit Content-Description: Card for Peter Enderborg Content-Disposition: attachment; filename="pme.vcf"

begin:vcard n:Enderborg;Peter x-mozilla-html:FALSE org:; adr:;;;;;; version:2.1 email;internet:pme@ufh.se x-mozilla-cpt:;0 fn:Peter Enderborg end:vcard

--------------B1F617F4122896810B018853--

--------------ms3896E497C4FB563100D4B4E8 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature

MIIHpAYJKoZIhvcNAQcCoIIHlTCCB5ECAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC BcYwggKFMIIB7qADAgECAgMBQUswDQYJKoZIhvcNAQEEBQAwgbkxCzAJBgNVBAYTAlpBMRUw EwYDVQQIEwxXZXN0ZXJuIENhcGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMRowGAYDVQQKExFU aGF3dGUgQ29uc3VsdGluZzEpMCcGA1UECxMgVGhhd3RlIFBGIFJTQSBJSyAxOTk4LjkuMTYg MTc6NTUxNjA0BgNVBAMTLVRoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBSU0EgSXNzdWVyIDE5 OTguOS4xNjAeFw05OTA4MTgyMjMxMDJaFw0wMDA4MTcyMjMxMDJaMDwxHzAdBgNVBAMTFlRo YXd0ZSBGcmVlbWFpbCBNZW1iZXIxGTAXBgkqhkiG9w0BCQEWCnBtZUB1Zmguc2UwXDANBgkq hkiG9w0BAQEFAANLADBIAkEAsMjeturd5QhDUISmPdT+8QK9wQmkmkNeo4BVNgJscv7JXfqw zfzAgaGwfaVDSUt41A1PTBY6Hr7f2asV9mCeGwIDAQABo1swWTARBglghkgBhvhCAQEEBAMC BSAwFQYDVR0RBA4wDIEKcG1lQHVmaC5zZTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFP4+ YJxrjA+w2DPGysYeWLBxOLXgMA0GCSqGSIb3DQEBBAUAA4GBAG+B5YzTCHmRFi0bNzmsoBJj aDnvLS0VbHz01vtOo9fxkF5Ss08GFulElb9XM5bMUvGgEXLS/UaLhP5h+MvDUQBACPk5RHHe c+9gyZ9Rz3/Q5RbhdBsGB7eeAmXwU3qn9LeFWkQc8yDcN9NoHA3qxSYbxg7uACPPcejwJu7P +xB1MIIDOTCCAqKgAwIBAgIBCjANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkExFTAT BgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3 dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lv bjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkB FhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTk4MDkxNjE3NTUzNFoXDTAwMDkx NTE3NTUzNFowgbkxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxFDASBgNV BAcTC0R1cmJhbnZpbGxlMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEpMCcGA1UECxMg VGhhd3RlIFBGIFJTQSBJSyAxOTk4LjkuMTYgMTc6NTUxNjA0BgNVBAMTLVRoYXd0ZSBQZXJz b25hbCBGcmVlbWFpbCBSU0EgSXNzdWVyIDE5OTguOS4xNjCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEAxKXl1NTQXwgC7gchfSS/q2uOHusgBwIVhGuP0JMkHxud7miyuSxP6ZNnFxAX HqH5Q0EjuTCqdpe78+f9gcC1MYv2plAmVPKVKOsZpB6XHrDiuJvBBJoy0DwJbE/kNU/wdr8A EwNPRQhg8/y00JABihLJnLp/UuoqkzU2PDzkNS8CAwEAAaM3MDUwEgYDVR0TAQH/BAgwBgEB /wIBADAfBgNVHSMEGDAWgBRyScJzNMZV9At2coF+d/SH58ayDjANBgkqhkiG9w0BAQQFAAOB gQAsx4IfAUM+B4/uaVypZIL4wJatkyvLm1DXQJqBwrqmdp08lUDcVcHhVYJ5qwopptUM4Vco Po/5u9XfDZNYqlsti48z5N1YFTV2chUpvUL0WpILd1+dJ9uaLU4bggaO0o1Wu5Xe2wxlBd6V ngLdUxe+vvxrwxoiehQrYb3Cn156WjGCAaYwggGiAgEBMIHBMIG5MQswCQYDVQQGEwJaQTEV MBMGA1UECBMMV2VzdGVybiBDYXBlMRQwEgYDVQQHEwtEdXJiYW52aWxsZTEaMBgGA1UEChMR VGhhd3RlIENvbnN1bHRpbmcxKTAnBgNVBAsTIFRoYXd0ZSBQRiBSU0EgSUsgMTk5OC45LjE2 IDE3OjU1MTYwNAYDVQQDEy1UaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgUlNBIElzc3VlciAx OTk4LjkuMTYCAwFBSzAJBgUrDgMCGgUAoH0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc BgkqhkiG9w0BCQUxDxcNOTkwODI1MjAyNDU0WjAeBgkqhkiG9w0BCQ8xETAPMA0GCCqGSIb3 DQMCAgEoMCMGCSqGSIb3DQEJBDEWBBR3AgYgorgmTqUud07wKG3HFXniQTANBgkqhkiG9w0B AQEFAARAZIqSfzxlQnshCTDOT1ikm/+lNLrBQYYAOp91Kg5U+u6+hO2oqywsQxmwAIPyneWo BVo3DSXS1gWNCjfSkWNzOQ== --------------ms3896E497C4FB563100D4B4E8--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/