René's URL Explorer Experiment


Title: Add support for timeout. Change from select syscall to poll by nveloso · Pull Request #210 · python-xlib/python-xlib · GitHub

Open Graph Title: Add support for timeout. Change from select syscall to poll by nveloso · Pull Request #210 · python-xlib/python-xlib

X Title: Add support for timeout. Change from select syscall to poll by nveloso · Pull Request #210 · python-xlib/python-xlib

Description: Hi! In this PR I added support for specifying the timeout used in sockets via an argument. I changed the use of select syscall to poll syscall. Select syscall has a known limitation: WARNING: select() can monitor only file descriptors numbers that are less than FD_SETSIZE (1024)—an unreasonably low limit for many modern applications—and this limitation will not change. All modern applications should instead use poll(2) or epoll(7), which do not suffer this limitation. Taken from https://man7.org/linux/man-pages/man2/select.2.html I also make the BaseDisplay class public because it can be useful to connect to a X11 server without making several requests to get all the extensions available. I also added a check in parse_connection_setup method that checks if the response has a valid status. In the protocol specification page 11 and 114 you can see all the available status (0, 1 or 2). I ran the tests with python3 runtests.py and all passed. ---------------------------------------------------------------------- XML: /com.docker.devenvironments.code/nosetests.xml ---------------------------------------------------------------------- Ran 524 tests in 12.184s OK (SKIP=142) I hope you can merge my changes. Any question feel free to ask.

Open Graph Description: Hi! In this PR I added support for specifying the timeout used in sockets via an argument. I changed the use of select syscall to poll syscall. Select syscall has a known limitation: WARNING: sele...

X Description: Hi! In this PR I added support for specifying the timeout used in sockets via an argument. I changed the use of select syscall to poll syscall. Select syscall has a known limitation: WARNING: sele...

Opengraph URL: https://github.com/python-xlib/python-xlib/pull/210

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:88671b7d-59a0-572e-51ad-1cdbc0973cf8
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB408:1E4FEF:E5E9F:1230B9:696AD5B3
html-safe-nonce2d6d1a67f3a9089a89f178461c42510e17ede9dee44ebda85e06fb0ca384bd46
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNDA4OjFFNEZFRjpFNUU5RjoxMjMwQjk6Njk2QUQ1QjMiLCJ2aXNpdG9yX2lkIjoiODIwODA2MDAzNjM0NDg5NDg5OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac2be0466b1a38df80b5c3127f371e93fa37c4f70c9c3715c0786209429370c86a
hovercard-subject-tagpull_request:760463022
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python-xlib/python-xlib/pull/210/files
twitter:imagehttps://avatars.githubusercontent.com/u/24777851?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/24777851?s=400&v=4
og:image:altHi! In this PR I added support for specifying the timeout used in sockets via an argument. I changed the use of select syscall to poll syscall. Select syscall has a known limitation: WARNING: sele...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonec785f4ce187e9e7331257791b36ddee01625bb8e292a9b4fe2c16d4c006abf5d
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python-xlib/python-xlib git https://github.com/python-xlib/python-xlib.git
octolytics-dimension-user_id16151530
octolytics-dimension-user_loginpython-xlib
octolytics-dimension-repository_id47391866
octolytics-dimension-repository_nwopython-xlib/python-xlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id47391866
octolytics-dimension-repository_network_root_nwopython-xlib/python-xlib
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec718a376fcf780eb22089171adb84a543f660bf7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python-xlib/python-xlib/pull/210/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-xlib%2Fpython-xlib%2Fpull%2F210%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-xlib%2Fpython-xlib%2Fpull%2F210%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python-xlib%2Fpython-xlib
Reloadhttps://github.com/python-xlib/python-xlib/pull/210/files
Reloadhttps://github.com/python-xlib/python-xlib/pull/210/files
Reloadhttps://github.com/python-xlib/python-xlib/pull/210/files
python-xlib https://github.com/python-xlib
python-xlibhttps://github.com/python-xlib/python-xlib
Notifications https://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib
Fork 112 https://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib
Star 455 https://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib
Code https://github.com/python-xlib/python-xlib
Issues 65 https://github.com/python-xlib/python-xlib/issues
Pull requests 16 https://github.com/python-xlib/python-xlib/pulls
Discussions https://github.com/python-xlib/python-xlib/discussions
Actions https://github.com/python-xlib/python-xlib/actions
Projects 0 https://github.com/python-xlib/python-xlib/projects
Wiki https://github.com/python-xlib/python-xlib/wiki
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python-xlib/python-xlib/security
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/210/files
Insights https://github.com/python-xlib/python-xlib/pulse
Code https://github.com/python-xlib/python-xlib
Issues https://github.com/python-xlib/python-xlib/issues
Pull requests https://github.com/python-xlib/python-xlib/pulls
Discussions https://github.com/python-xlib/python-xlib/discussions
Actions https://github.com/python-xlib/python-xlib/actions
Projects https://github.com/python-xlib/python-xlib/projects
Wiki https://github.com/python-xlib/python-xlib/wiki
Security https://github.com/python-xlib/python-xlib/security
Insights https://github.com/python-xlib/python-xlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython-xlib%2Fpython-xlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython-xlib%2Fpython-xlib%2Fissues%2Fnew%2Fchoose
nvelosohttps://github.com/nveloso
python-xlib:masterhttps://github.com/python-xlib/python-xlib/tree/master
nveloso:add-timeout-param-change-select-to-pollhttps://github.com/nveloso/python-xlib/tree/add-timeout-param-change-select-to-poll
Conversation 1 https://github.com/python-xlib/python-xlib/pull/210
Commits 2 https://github.com/python-xlib/python-xlib/pull/210/commits
Checks 0 https://github.com/python-xlib/python-xlib/pull/210/checks
Files changed https://github.com/python-xlib/python-xlib/pull/210/files
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/210/files
Add support for timeout. Change from select syscall to poll https://github.com/python-xlib/python-xlib/pull/210/files#top
Show all changes 2 commits https://github.com/python-xlib/python-xlib/pull/210/files
b42ef34 Add support for timeout. Change from select syscall to poll. Add veri… nunovelosobs Oct 18, 2021 https://github.com/python-xlib/python-xlib/pull/210/commits/b42ef345f23bfd98391e086153025ae0c403d020
c1e928b Add TimeoutError class to py2 code nveloso Oct 23, 2021 https://github.com/python-xlib/python-xlib/pull/210/commits/c1e928b541a4c960c6f2ba736d53289fae5be3cd
Clear filters https://github.com/python-xlib/python-xlib/pull/210/files
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/210/files
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/210/files
display.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-a8aaac5278642adadd21b60911302ce980676b0889f023b9629b18e0d513db74
error.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-b8db06cdf2179c5091cc1f4906c3e10c385272368c545b09d7f0d77f0bb0b582
display.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
connect.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-75a62f4b0479ad59f6854e546ed49837ae8e223e0dc973c4b239e882894dfb09
unix_connect.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-6f483376ef3c11dd26bfc20a95bfd8d3bed7fabe929d4015f3023efb2e3da73d
vms_connect.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-b6997c4acfec17a06208ff5a2a555027fcd2aaea2017b2c5537c3e7ad60a5d98
test_unix_connect.py https://github.com/python-xlib/python-xlib/pull/210/files#diff-7ce80a528863bfa410927b2788c1ad3f75d279b13d217866987bcc936a73f653
Xlib/display.pyhttps://github.com/python-xlib/python-xlib/pull/210/files#diff-a8aaac5278642adadd21b60911302ce980676b0889f023b9629b18e0d513db74
View file https://github.com/python-xlib/python-xlib/blob/c1e928b541a4c960c6f2ba736d53289fae5be3cd/Xlib/display.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/210/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/210/files#diff-a8aaac5278642adadd21b60911302ce980676b0889f023b9629b18e0d513db74
https://github.com/python-xlib/python-xlib/pull/210/files#diff-a8aaac5278642adadd21b60911302ce980676b0889f023b9629b18e0d513db74
https://github.com/python-xlib/python-xlib/pull/210/files#diff-a8aaac5278642adadd21b60911302ce980676b0889f023b9629b18e0d513db74
Xlib/error.pyhttps://github.com/python-xlib/python-xlib/pull/210/files#diff-b8db06cdf2179c5091cc1f4906c3e10c385272368c545b09d7f0d77f0bb0b582
View file https://github.com/python-xlib/python-xlib/blob/c1e928b541a4c960c6f2ba736d53289fae5be3cd/Xlib/error.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/210/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/210/files#diff-b8db06cdf2179c5091cc1f4906c3e10c385272368c545b09d7f0d77f0bb0b582
https://github.com/python-xlib/python-xlib/pull/210/files#diff-b8db06cdf2179c5091cc1f4906c3e10c385272368c545b09d7f0d77f0bb0b582
Xlib/protocol/display.pyhttps://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
View file https://github.com/python-xlib/python-xlib/blob/c1e928b541a4c960c6f2ba736d53289fae5be3cd/Xlib/protocol/display.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/210/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
https://github.com/python-xlib/python-xlib/pull/210/files#diff-d70a58c2ef027a4bf0667652bbcb0f03a12b46a9c172a64bf28abc7df5aad6c1
Xlib/support/connect.pyhttps://github.com/python-xlib/python-xlib/pull/210/files#diff-75a62f4b0479ad59f6854e546ed49837ae8e223e0dc973c4b239e882894dfb09
View file https://github.com/python-xlib/python-xlib/blob/c1e928b541a4c960c6f2ba736d53289fae5be3cd/Xlib/support/connect.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/210/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/210/files#diff-75a62f4b0479ad59f6854e546ed49837ae8e223e0dc973c4b239e882894dfb09
https://github.com/python-xlib/python-xlib/pull/210/files#diff-75a62f4b0479ad59f6854e546ed49837ae8e223e0dc973c4b239e882894dfb09
https://github.com/python-xlib/python-xlib/pull/210/files#diff-75a62f4b0479ad59f6854e546ed49837ae8e223e0dc973c4b239e882894dfb09
Xlib/support/unix_connect.pyhttps://github.com/python-xlib/python-xlib/pull/210/files#diff-6f483376ef3c11dd26bfc20a95bfd8d3bed7fabe929d4015f3023efb2e3da73d
View file https://github.com/python-xlib/python-xlib/blob/c1e928b541a4c960c6f2ba736d53289fae5be3cd/Xlib/support/unix_connect.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/210/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/210/files#diff-6f483376ef3c11dd26bfc20a95bfd8d3bed7fabe929d4015f3023efb2e3da73d
https://github.com/python-xlib/python-xlib/pull/210/files#diff-6f483376ef3c11dd26bfc20a95bfd8d3bed7fabe929d4015f3023efb2e3da73d
https://github.com/python-xlib/python-xlib/pull/210/files#diff-6f483376ef3c11dd26bfc20a95bfd8d3bed7fabe929d4015f3023efb2e3da73d
Xlib/support/vms_connect.pyhttps://github.com/python-xlib/python-xlib/pull/210/files#diff-b6997c4acfec17a06208ff5a2a555027fcd2aaea2017b2c5537c3e7ad60a5d98
View file https://github.com/python-xlib/python-xlib/blob/c1e928b541a4c960c6f2ba736d53289fae5be3cd/Xlib/support/vms_connect.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-xlib/python-xlib/pull/210/{{ revealButtonHref }}
https://github.com/python-xlib/python-xlib/pull/210/files#diff-b6997c4acfec17a06208ff5a2a555027fcd2aaea2017b2c5537c3e7ad60a5d98
https://github.com/python-xlib/python-xlib/pull/210/files#diff-b6997c4acfec17a06208ff5a2a555027fcd2aaea2017b2c5537c3e7ad60a5d98
Please reload this pagehttps://github.com/python-xlib/python-xlib/pull/210/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.