Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7473

[PATCH] Linux compile with cmake . -DHAVE_POLL=no fails to compile

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Won't Fix
    • 10.0.15
    • N/A
    • Compiling
    • None
    • linux x86_64

    Description

      /home/dan/software_projects/mariadb-git/vio/viosocket.c: In function ‘vio_io_wait’:
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:923:17: error: storage size of ‘pfd’ isn’t known
         struct pollfd pfd;
                       ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:954:18: error: ‘POLLIN’ undeclared (first use in this function)
           pfd.events= MY_POLL_SET_IN;
                        ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:954:18: note: each undeclared identifier is reported only once for each function it appears in
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:954:27: error: ‘POLLPRI’ undeclared (first use in this function)
           pfd.events= MY_POLL_SET_IN;
                                 ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:955:36: error: ‘POLLERR’ undeclared (first use in this function)
           revents= MY_POLL_SET_IN | MY_POLL_SET_ERR | POLLRDHUP;
                                          ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:955:46: error: ‘POLLHUP’ undeclared (first use in this function)
           revents= MY_POLL_SET_IN | MY_POLL_SET_ERR | POLLRDHUP;
                                                    ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:955:56: error: ‘POLLNVAL’ undeclared (first use in this function)
           revents= MY_POLL_SET_IN | MY_POLL_SET_ERR | POLLRDHUP;
                                                              ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:959:18: error: ‘POLLOUT’ undeclared (first use in this function)
           pfd.events= MY_POLL_SET_OUT;
                        ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:969:3: warning: implicit declaration of function ‘poll’ [-Wimplicit-function-declaration]
         switch ((ret= poll(&pfd, 1, timeout)))
         ^
      /home/dan/software_projects/mariadb-git/vio/viosocket.c:923:17: warning: unused variable ‘pfd’ [-Wunused-variable]
         struct pollfd pfd;
                       ^
      make[2]: *** [vio/CMakeFiles/vio.dir/viosocket.c.o] Error 1
      make[2]: *** Waiting for unfinished jobs....

      Attachments

        Activity

          danblack Daniel Black added a comment -

          in addition to the compile failure I found that mysqld will not return from the following mysqld.cc line even when a connection is made.

          I verified that readFDs does contain the FD_ISSET(unixfd,readFDs).

          retval= select((int) 0,&readFDs,0,0,0);

          It seems that the first arguement is the number of fd. The 4th arguement is exceptions.
          changing the code to:

          retval= select(socket_count,&readFDs, 0, &readFDs, 0);

          Did not change its locking behaviour. Only tested with unix sockets.

          danblack Daniel Black added a comment - in addition to the compile failure I found that mysqld will not return from the following mysqld.cc line even when a connection is made. I verified that readFDs does contain the FD_ISSET(unixfd,readFDs). retval= select((int) 0,&readFDs,0,0,0); It seems that the first arguement is the number of fd. The 4th arguement is exceptions. changing the code to: retval= select(socket_count,&readFDs, 0, &readFDs, 0); Did not change its locking behaviour. Only tested with unix sockets.

          Is there a valid reason to build with -DHAVE_POLL=NO on Linux?

          serg Sergei Golubchik added a comment - Is there a valid reason to build with -DHAVE_POLL=NO on Linux?

          People

            serg Sergei Golubchik
            danblack Daniel Black
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.