From owner-freebsd-questions Fri Jul 21 9:33:17 2000 Delivered-To: freebsd-questions@freebsd.org Received: from sunny.pacific.net.sg (sunny.pacific.net.sg [203.120.90.127]) by hub.freebsd.org (Postfix) with ESMTP id A1DC637BB50 for ; Fri, 21 Jul 2000 09:33:11 -0700 (PDT) (envelope-from jk.tan@pacific.net.sg) Received: from pop1.pacific.net.sg (pop1.pacific.net.sg [203.120.90.85]) by sunny.pacific.net.sg with ESMTP id AAA12023; Sat, 22 Jul 2000 00:32:46 +0800 (SGT) Received: from tanjkvaio (ad202.166.108.247.magix.com.sg [202.166.108.247]) by pop1.pacific.net.sg with SMTP id AAA09042; Sat, 22 Jul 2000 00:32:44 +0800 (SGT) From: "Tan Juay Kwang" To: "Eran Gabber" Cc: Subject: RE: pthreads on 4.0-STABLE Date: Sat, 22 Jul 2000 00:32:57 +0800 MIME-Version: 1.0 Message-ID: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Content-Type: multipart/signed; micalg=SHA1; protocol="application/x-pkcs7-signature"; boundary="----=_NextPart_000_0014_01BFF374.61A01420" In-Reply-To: Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This is a multi-part message in MIME format. ------=_NextPart_000_0014_01BFF374.61A01420 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit > > I found that the standard Pthreads library uses software > threads, which > tends to block the entire process (including all other threads) when > one of the threads blocks. Although the source of the Pthreads library > shows that other threads should be allowed to run when one of > them blocks, > in fact all threads blocks when one of them waits for file I/O. > > Try to use the linuxthreads package, which is available in > FreeBSD 4.0. > Linuxthreads is an alternate implementation of Pthreads, > which supports > true concurrency among threads. > Linuxthreads employs the rfork() system call to create a new > light-weight process for each thread. In this way, if one thread > blocks, others can continue. > When I tried it on RedHat 6.2, I found that all my threads appears as different processes under ps(1), which is due to the implementation of the linux threads. Then I realized that I can kill off one of them without taking down the entire process. The killed off thread will appear as under ps(1). I'm rather baffled by this behavior since I've always thought that you can't 'kill' a thread within a process by another process, in this case, kill(1). However, most of the time, killing off 1 thread does take down the entire process. > Since linuxthreads is a different implementation of Pthreads with the > same API, you can just relink your program with it and try again. > It may solve your concurrent gethostbyname() problem and the > dependency > between phtread_create() and open()/read() that you reported. > > Eran > > Best regards, Juay Kwang ------=_NextPart_000_0014_01BFF374.61A01420 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIHKjCCAy4w ggKXoAMCAQICEQDSdi6NFAw9fbKoJV2v7g11MA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05ODA1MTIwMDAwMDBaFw0wODA1MTIyMzU5NTla MIHMMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0 d29yazFGMEQGA1UECxM9d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1JQQSBJbmNvcnAuIEJ5 IFJlZi4sTElBQi5MVEQoYyk5ODFIMEYGA1UEAxM/VmVyaVNpZ24gQ2xhc3MgMSBDQSBJbmRpdmlk dWFsIFN1YnNjcmliZXItUGVyc29uYSBOb3QgVmFsaWRhdGVkMIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQC7WkSKBBa7Vf0DeootlE8VeDa4DUqyb5xUv7zodyqdufBou5XZMUFweoFLuUgTVi3H COGEQqvAopKrRFyqQvCCDgLpL/vCO7u+yScKXbawNkIztW5UiE+HSr8Z2vkV6A+HthzjzMaajn9q JJLj/OBluqexfu/J2zdqyErICQbkmQIDAQABo3wwejARBglghkgBhvhCAQEEBAMCAQYwRwYDVR0g BEAwPjA8BgtghkgBhvhFAQcBATAtMCsGCCsGAQUFBwIBFh93d3cudmVyaXNpZ24uY29tL3JlcG9z aXRvcnkvUlBBMA8GA1UdEwQIMAYBAf8CAQAwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBAgUAA4GB AIi4Nzvd2pQ3AK2qn+GBAXEekmptL/bxndPKZDjcG5gMB4ZbhRVqD7lJhaSV8Rd9Z7R/LSzdmkKe wz60jqrlCwbe8lYq+jPHvhnXU0zDvcjjF7WkSUJj7MKmFw9dWBpJPJBcVaNlIAD9GCDlX4KmsaiS xVhqwY0DPOvDzQWikK5uMIID9DCCA12gAwIBAgIQF/MjDYJPRn81g30kCzsRtzANBgkqhkiG9w0B AQQFADCBzDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9SUEEgSW5jb3Jw LiBCeSBSZWYuLExJQUIuTFREKGMpOTgxSDBGBgNVBAMTP1ZlcmlTaWduIENsYXNzIDEgQ0EgSW5k aXZpZHVhbCBTdWJzY3JpYmVyLVBlcnNvbmEgTm90IFZhbGlkYXRlZDAeFw0wMDA2MjgwMDAwMDBa Fw0wMDA4MjcyMzU5NTlaMIIBAzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9y eS9SUEEgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTgxHjAcBgNVBAsTFVBlcnNvbmEgTm90 IFZhbGlkYXRlZDEmMCQGA1UECxMdRGlnaXRhbCBJRCBDbGFzcyAxIC0gTmV0c2NhcGUxFzAVBgNV BAMUDkp1YXkgS3dhbmcgVGFuMR4wHAYJKoZIhvcNAQkBFg90YW5qa0BpLWRucy5uZXQwgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBANW3TvjbDwH/jV4bol+FogFJ2cXuX2yFvQVYBvcL/wB4jNhS oB9fIba+wt/o41hHtF0pMtjL0CHPY7mnT9DcTNHxC8TeHjnzShxLqgAaf1eBJdKr0dSm4gaxmU7b CBY03Lfce+gsHhxNclXObUSOWnG/h6Rmvb1r+Uh8ByWZZx/JAgMBAAGjgZwwgZkwCQYDVR0TBAIw ADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEIMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9ycGEwEQYJYIZIAYb4QgEBBAQDAgeAMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6 Ly9jcmwudmVyaXNpZ24uY29tL2NsYXNzMS5jcmwwDQYJKoZIhvcNAQEEBQADgYEARo2tBDBXqDl5 hlgARNC6NEC/ooWcfKpG/RsfUEbmNqBsokHtUl4qwgymzabniB+h/zY8ib5VlVkpk09xIjd/cjJO nkbVd4Txl3q6jplkvWFftTIZ/04T1opGap8haVGhdCSETDwaFT73MPUJtZrMDBzMGR1KSAarneh6 PRyXUzMxggM4MIIDNAIBATCB4TCBzDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsT FlZlcmlTaWduIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3Np dG9yeS9SUEEgSW5jb3JwLiBCeSBSZWYuLExJQUIuTFREKGMpOTgxSDBGBgNVBAMTP1ZlcmlTaWdu IENsYXNzIDEgQ0EgSW5kaXZpZHVhbCBTdWJzY3JpYmVyLVBlcnNvbmEgTm90IFZhbGlkYXRlZAIQ F/MjDYJPRn81g30kCzsRtzAJBgUrDgMCGgUAoIIBrDAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB MBwGCSqGSIb3DQEJBTEPFw0wMDA3MjExNjMyNTZaMCMGCSqGSIb3DQEJBDEWBBTSXPUfyGLEgPLh RcGDjD+9qWUX4TBYBgkqhkiG9w0BCQ8xSzBJMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAH BgUrDgMCBzANBggqhkiG9w0DAgIBKDAHBgUrDgMCGjAKBggqhkiG9w0CBTCB8gYJKwYBBAGCNxAE MYHkMIHhMIHMMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 c3QgTmV0d29yazFGMEQGA1UECxM9d3d3LnZlcmlzaWduLmNvbS9yZXBvc2l0b3J5L1JQQSBJbmNv cnAuIEJ5IFJlZi4sTElBQi5MVEQoYyk5ODFIMEYGA1UEAxM/VmVyaVNpZ24gQ2xhc3MgMSBDQSBJ bmRpdmlkdWFsIFN1YnNjcmliZXItUGVyc29uYSBOb3QgVmFsaWRhdGVkAhAX8yMNgk9GfzWDfSQL OxG3MA0GCSqGSIb3DQEBAQUABIGA08C/fvSZPv03QZbg01IYA0sluDMt7QS2DwG7WXENqG3je+76 gWbWds4MHM5mpLKpNqqvDEKrrHSLdGoO2bO+jxGFx46DFUUvrdWK+d8CaDNIk1E5yYecZf+bX/5A A39uFOExeEPT5cqaEo13W8beK4SWYjnVW3dMHP8VQ3MPybwAAAAAAAA= ------=_NextPart_000_0014_01BFF374.61A01420-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message