[PATCH xorg-gtest 2/2] Remove WaitForConnections()

Peter Hutterer peter.hutterer at who-t.net
Mon Oct 1 19:24:45 PDT 2012


On Tue, Oct 02, 2012 at 01:22:47AM +0200, Daniel Martin wrote:
> As we already know that the XServer is ready for connections due to it's
> notification via SIGUSR1, we don't need to poll anymore.

nice, thanks. Please remember to sign off patches though, I'm going to
require that for patches to xorg-gtest in the future.

also, since this is an ABI break, I'll get a 0.5.0 release out first before
we remove the handlers. The patches are merged locally and will be upstream
soon.

Cheers,
   Peter

> ---
>  include/xorg/gtest/xorg-gtest-xserver.h |  5 -----
>  src/environment.cpp                     |  1 -
>  src/xserver.cpp                         | 33 ---------------------------------
>  3 files changed, 39 deletions(-)
> 
> diff --git a/include/xorg/gtest/xorg-gtest-xserver.h b/include/xorg/gtest/xorg-gtest-xserver.h
> index 2e7ef13..851d8ce 100644
> --- a/include/xorg/gtest/xorg-gtest-xserver.h
> +++ b/include/xorg/gtest/xorg-gtest-xserver.h
> @@ -107,11 +107,6 @@ class XServer : public xorg::testing::Process {
>      void RemoveLogFile(bool force = false);
>  
>      /**
> -     * Waits until this server is ready to take connections.
> -     */
> -    void WaitForConnections(void);
> -
> -    /**
>       * Set the display number for this server. This number must be set
>       * before the server is started to have any effect.
>       * If unset, the default display number is used.
> diff --git a/src/environment.cpp b/src/environment.cpp
> index 54eb6b6..44d6b2e 100644
> --- a/src/environment.cpp
> +++ b/src/environment.cpp
> @@ -106,7 +106,6 @@ void xorg::testing::Environment::SetUp() {
>    if (d_->path_to_conf.length())
>      d_->server.SetOption("-config", d_->path_to_log_file);
>    d_->server.Start(d_->path_to_server);
> -  d_->server.WaitForConnections();
>  
>    Process::SetEnv("DISPLAY", d_->server.GetDisplayString(), true);
>  }
> diff --git a/src/xserver.cpp b/src/xserver.cpp
> index 2ff718d..42b3b3b 100644
> --- a/src/xserver.cpp
> +++ b/src/xserver.cpp
> @@ -221,39 +221,6 @@ bool xorg::testing::XServer::WaitForDevice(::Display *display, const std::string
>      return false;
>  }
>  
> -void xorg::testing::XServer::WaitForConnections(void) {
> -  for (int i = 0; i < 100; ++i) {
> -    Display *test_display = XOpenDisplay(GetDisplayString().c_str());
> -
> -    if (test_display) {
> -      XCloseDisplay(test_display);
> -      return;
> -    }
> -
> -    int status;
> -    int pid = waitpid(Pid(), &status, WNOHANG);
> -    if (pid == Pid()) {
> -      std::string message;
> -      message += "X server failed to start on display ";
> -      message +=  GetDisplayString();
> -      message += ". Ensure that the correct video driver is installed.\n"
> -                 "If the X.org server is older than 1.12, "
> -                 "tests will need to be run as root.\nCheck ";
> -      message += d_->options["-logfile"];
> -      message += " for any errors";
> -      throw std::runtime_error(message);
> -    } else if (pid == 0) {
> -      usleep(100);
> -    } else if (pid == -1) {
> -      throw std::runtime_error("Could not get status of X server process");
> -    } else {
> -      throw std::runtime_error("Invalid child PID returned by Process::Wait()");
> -    }
> -  }
> -
> -  throw std::runtime_error("Unable to open connection to X server");
> -}
> -
>  void xorg::testing::XServer::TestStartup(void) {
>    Display* test_display = XOpenDisplay(GetDisplayString().c_str());
>    if (test_display) {
> -- 
> 1.7.12.2
> 


More information about the xorg-devel mailing list